Minor cleanup of the CssAbsoluteFilter class.
This commit is contained in:
@@ -10,6 +10,7 @@ from compressor.utils import staticfiles
|
|||||||
|
|
||||||
URL_PATTERN = re.compile(r'url\(([^\)]+)\)')
|
URL_PATTERN = re.compile(r'url\(([^\)]+)\)')
|
||||||
SRC_PATTERN = re.compile(r'src=([\'"])(.+?)\1')
|
SRC_PATTERN = re.compile(r'src=([\'"])(.+?)\1')
|
||||||
|
SCHEMES = ('http://', 'https://', '/', 'data:')
|
||||||
|
|
||||||
|
|
||||||
class CssAbsoluteFilter(FilterBase):
|
class CssAbsoluteFilter(FilterBase):
|
||||||
@@ -72,30 +73,26 @@ class CssAbsoluteFilter(FilterBase):
|
|||||||
settings.COMPRESS_CSS_HASHING_METHOD)
|
settings.COMPRESS_CSS_HASHING_METHOD)
|
||||||
if suffix is None:
|
if suffix is None:
|
||||||
return url
|
return url
|
||||||
if url.startswith(('http://', 'https://', '/')):
|
if url.startswith(SCHEMES):
|
||||||
if "?" in url:
|
if "?" in url:
|
||||||
url = "%s&%s" % (url, suffix)
|
url = "%s&%s" % (url, suffix)
|
||||||
else:
|
else:
|
||||||
url = "%s?%s" % (url, suffix)
|
url = "%s?%s" % (url, suffix)
|
||||||
return url
|
return url
|
||||||
|
|
||||||
def url_converter(self, matchobj):
|
def _converter(self, matchobj, group, template):
|
||||||
url = matchobj.group(1)
|
url = matchobj.group(group)
|
||||||
url = url.strip(' \'"')
|
url = url.strip(' \'"')
|
||||||
if url.startswith(('http://', 'https://', '/', 'data:')):
|
if url.startswith(SCHEMES):
|
||||||
return "url('%s')" % self.add_suffix(url)
|
return "url('%s')" % self.add_suffix(url)
|
||||||
full_url = posixpath.normpath('/'.join([str(self.directory_name),
|
full_url = posixpath.normpath('/'.join([str(self.directory_name),
|
||||||
url]))
|
url]))
|
||||||
if self.has_scheme:
|
if self.has_scheme:
|
||||||
full_url = "%s%s" % (self.protocol, full_url)
|
full_url = "%s%s" % (self.protocol, full_url)
|
||||||
return "url('%s')" % self.add_suffix(full_url)
|
return template % self.add_suffix(full_url)
|
||||||
|
|
||||||
|
def url_converter(self, matchobj):
|
||||||
|
return self._converter(matchobj, 1, "url('%s')")
|
||||||
|
|
||||||
def src_converter(self, matchobj):
|
def src_converter(self, matchobj):
|
||||||
url = matchobj.group(2)
|
return self._converter(matchobj, 2, "src='%s'")
|
||||||
url = url.strip(' \'"')
|
|
||||||
if url.startswith(('http://', 'https://', '/', 'data:')):
|
|
||||||
return "src='%s'" % self.add_suffix(url)
|
|
||||||
full_url = posixpath.normpath('/'.join([str(self.directory_name), url]))
|
|
||||||
if self.has_scheme:
|
|
||||||
full_url = "%s%s" % (self.protocol, full_url)
|
|
||||||
return "src='%s'" % self.add_suffix(full_url)
|
|
||||||
|
Reference in New Issue
Block a user