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