def input(self, filename=None, **kwargs): media_root = os.path.normcase(os.path.abspath(settings.MEDIA_ROOT)) if filename is not None: filename = os.path.normcase(os.path.abspath(filename)) if not filename or not filename.startswith(media_root): return self.content self.media_path = filename[len(media_root):].replace(os.sep, '/') self.media_path = self.media_path.lstrip('/') self.media_url = settings.MEDIA_URL.rstrip('/') try: mtime = get_mtime(filename) self.mtime = get_hexdigest(str(int(mtime)))[:12] except OSError: self.mtime = None self.has_http = False if self.media_url.startswith('http://') or self.media_url.startswith( 'https://'): self.has_http = True parts = self.media_url.split('/') self.media_url = '/'.join(parts[2:]) self.protocol = '%s/' % '/'.join(parts[:2]) self.directory_name = '/'.join( [self.media_url, os.path.dirname(self.media_path)]) output = URL_PATTERN.sub(self.url_converter, self.content) return output
def cachekey(self): """ cachekey for this block of css or js. """ cachebits = [self.content] cachebits.extend([str(m) for m in self.mtimes]) cachestr = "".join(cachebits) return "%s.django_compressor.%s.%s" % (self.domain, get_hexdigest(cachestr)[:12], settings.COMPRESS)
def cachekey(self): """ cachekey for this block of css or js. """ cachebits = [self.content] cachebits.extend([str(m) for m in self.mtimes]) cachestr = "".join(cachebits) return "%s.django_compressor.%s.%s" % ( self.domain, get_hexdigest(cachestr)[:12], settings.COMPRESS)
def input(self, filename=None, **kwargs): media_root = os.path.normcase(os.path.abspath(settings.MEDIA_ROOT)) if filename is not None: filename = os.path.normcase(os.path.abspath(filename)) if not filename or not filename.startswith(media_root): return self.content self.media_path = filename[len(media_root):].replace(os.sep, '/') self.media_path = self.media_path.lstrip('/') self.media_url = settings.MEDIA_URL.rstrip('/') try: mtime = get_mtime(filename) self.mtime = get_hexdigest(str(int(mtime)))[:12] except OSError: self.mtime = None self.has_http = False if self.media_url.startswith('http://') or self.media_url.startswith('https://'): self.has_http = True parts = self.media_url.split('/') self.media_url = '/'.join(parts[2:]) self.protocol = '%s/' % '/'.join(parts[:2]) self.directory_name = '/'.join([self.media_url, os.path.dirname(self.media_path)]) output = URL_PATTERN.sub(self.url_converter, self.content) return output
def hash(self): return get_hexdigest(self.combined)[:12]
def cachekey(self): cachebits = [self.content] cachebits.extend([str(m) for m in self.mtimes]) cachestr = "".join(cachebits).encode(django_settings.DEFAULT_CHARSET) return "django_compressor.%s" % get_hexdigest(cachestr)[:12]
def get_hashed_mtime(self, filename, length=12): filename = os.path.realpath(filename) mtime = str(int(get_mtime(filename))) return get_hexdigest(mtime)[:length]