import os from tempfile import mkstemp import pathlib import platform import glob import hashlib import configparser import json import traceback import time import timeit import re def get_directory_hash(directory): directory_hash = hashlib.sha1() if not os.path.exists (directory): return -1 try: for root, dirs, files in os.walk(directory): for names in files: path = os.path.join(root, names) try: f = open(path, 'rb') except: # You can't open the file for some reason f.close() continue while 1: # Read file in as little chunks buf = f.read(4096) if not buf: break new = hashlib.sha1(buf) directory_hash.update(new.digest()) f.close() except: # Print the stack traceback traceback.print_exc() return -2 retVal = directory_hash.hexdigest() #print_yellow("Hash Value for {} is {}".format(directory,retVal)) return directory_hash.hexdigest()