import os from os import walk import hashlib class publishUtils: @staticmethod def sha1OfFile(filepath): sha = hashlib.sha1() with open(filepath, 'rb') as f: sha.update(f.read()) return sha.hexdigest() @staticmethod def stripBegin(str, strToStrip): index = str.find(strToStrip, 0, len(str)) if(index >= 0): index = index + len(strToStrip) return str[index:].lstrip('/') return str @staticmethod def getFilesWithRelativePath(root): f = [] for (dirpath, _, filenames) in walk(root): strippedPath = publishUtils.stripBegin(dirpath, root) for filename in filenames: f.append(os.path.join(strippedPath, filename)) return f