X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/f17e66aa4210a226669dd96e26295d6f58b94703..43116c58e5c56f94ef358a5a17fb13a252e02531:/apps/compress/versioning/hash/__init__.py?ds=sidebyside diff --git a/apps/compress/versioning/hash/__init__.py b/apps/compress/versioning/hash/__init__.py deleted file mode 100644 index a298961c..00000000 --- a/apps/compress/versioning/hash/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -import cStringIO -from hashlib import md5, sha1 -import os - -from compress.conf import settings -from compress.utils import concat, get_output_filename -from compress.versioning.base import VersioningBase - - -class HashVersioningBase(VersioningBase): - - def __init__(self, hash_method): - self.hash_method = hash_method - - def needs_update(self, output_file, source_files, version): - output_file_name = get_output_filename(output_file, version) - ph = settings.COMPRESS_VERSION_PLACEHOLDER - of = output_file - try: - phi = of.index(ph) - old_version = output_file_name[phi:phi + len(ph) - len(of)] - return (version != old_version), version - except ValueError: - # no placeholder found, do not update, manual update if needed - return False, version - - def get_version(self, source_files): - buf = concat(source_files) - s = cStringIO.StringIO(buf) - version = self.get_hash(s) - s.close() - return version - - def get_hash(self, f, CHUNK=2 ** 16): - m = self.hash_method() - while 1: - chunk = f.read(CHUNK) - if not chunk: - break - m.update(chunk) - return m.hexdigest() - - -class MD5Versioning(HashVersioningBase): - - def __init__(self): - super(MD5Versioning, self).__init__(md5) - - -class SHA1Versioning(HashVersioningBase): - - def __init__(self): - super(SHA1Versioning, self).__init__(sha1)