Added optional length argument to get_hexdigest utility.
This commit is contained in:
@@ -63,16 +63,14 @@ class Compressor(object):
|
|||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def mtimes(self):
|
def mtimes(self):
|
||||||
for kind, value, elem in self.split_contents():
|
return [str(get_mtime(value))
|
||||||
if kind == 'file':
|
for kind, value, _ in self.split_contents() if kind == 'file']
|
||||||
yield str(get_mtime(value))
|
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def cachekey(self):
|
def cachekey(self):
|
||||||
cachestr = "".join(
|
key = get_hexdigest(''.join(
|
||||||
chain([self.content], self.mtimes)).encode(self.charset)
|
[self.content] + self.mtimes).encode(self.charset), 12)
|
||||||
return "django_compressor.%s.%s" % (socket.gethostname(),
|
return "django_compressor.%s.%s" % (socket.gethostname(), key)
|
||||||
get_hexdigest(cachestr)[:12])
|
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def hunks(self):
|
def hunks(self):
|
||||||
|
|||||||
@@ -8,8 +8,11 @@ from django.utils.hashcompat import sha_constructor
|
|||||||
from compressor.conf import settings
|
from compressor.conf import settings
|
||||||
|
|
||||||
|
|
||||||
def get_hexdigest(plaintext):
|
def get_hexdigest(plaintext, length=None):
|
||||||
return sha_constructor(plaintext).hexdigest()
|
digest = sha_constructor(plaintext).hexdigest()
|
||||||
|
if length:
|
||||||
|
return digest[:length]
|
||||||
|
return digest
|
||||||
|
|
||||||
|
|
||||||
def get_mtime_cachekey(filename):
|
def get_mtime_cachekey(filename):
|
||||||
@@ -37,7 +40,7 @@ def get_mtime(filename):
|
|||||||
def get_hashed_mtime(filename, length=12):
|
def get_hashed_mtime(filename, length=12):
|
||||||
filename = os.path.realpath(filename)
|
filename = os.path.realpath(filename)
|
||||||
mtime = str(int(get_mtime(filename)))
|
mtime = str(int(get_mtime(filename)))
|
||||||
return get_hexdigest(mtime)[:length]
|
return get_hexdigest(mtime, length)
|
||||||
|
|
||||||
|
|
||||||
cache = get_cache(settings.COMPRESS_CACHE_BACKEND)
|
cache = get_cache(settings.COMPRESS_CACHE_BACKEND)
|
||||||
|
|||||||
Reference in New Issue
Block a user