예제 #1
0
 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
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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
예제 #5
0
 def hash(self):
     return get_hexdigest(self.combined)[:12]
예제 #6
0
 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]
예제 #7
0
 def hash(self):
     return get_hexdigest(self.combined)[:12]
예제 #8
0
 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]
예제 #9
0
 def get_hashed_mtime(self, filename, length=12):
     filename = os.path.realpath(filename)
     mtime = str(int(get_mtime(filename)))
     return get_hexdigest(mtime)[:length]