Compile URL pattern only one time.
This commit is contained in:
@@ -6,6 +6,9 @@ from compressor.filters import FilterBase, FilterError
|
|||||||
from compressor.conf import settings
|
from compressor.conf import settings
|
||||||
from compressor.utils import get_hexdigest, get_mtime
|
from compressor.utils import get_hexdigest, get_mtime
|
||||||
|
|
||||||
|
URL_PATTERN = re.compile(r'url\(([^\)]+)\)')
|
||||||
|
|
||||||
|
|
||||||
class CssAbsoluteFilter(FilterBase):
|
class CssAbsoluteFilter(FilterBase):
|
||||||
def input(self, filename=None, **kwargs):
|
def input(self, filename=None, **kwargs):
|
||||||
media_root = os.path.abspath(settings.MEDIA_ROOT)
|
media_root = os.path.abspath(settings.MEDIA_ROOT)
|
||||||
@@ -28,8 +31,7 @@ class CssAbsoluteFilter(FilterBase):
|
|||||||
self.media_url = '/'.join(parts[2:])
|
self.media_url = '/'.join(parts[2:])
|
||||||
self.protocol = '%s/' % '/'.join(parts[:2])
|
self.protocol = '%s/' % '/'.join(parts[:2])
|
||||||
self.directory_name = '/'.join([self.media_url, os.path.dirname(self.media_path)])
|
self.directory_name = '/'.join([self.media_url, os.path.dirname(self.media_path)])
|
||||||
url_pattern = re.compile(r'url\(([^\)]+)\)')
|
output = URL_PATTERN.sub(self.url_converter, self.content)
|
||||||
output = url_pattern.sub(self.url_converter, self.content)
|
|
||||||
return output
|
return output
|
||||||
|
|
||||||
def add_mtime(self, url):
|
def add_mtime(self, url):
|
||||||
|
|||||||
Reference in New Issue
Block a user