Don't instantiate the local compressor storage backend all the time.
This commit is contained in:
@@ -13,7 +13,7 @@ from compressor.cache import get_hexdigest, get_mtime
|
|||||||
from compressor.conf import settings
|
from compressor.conf import settings
|
||||||
from compressor.exceptions import CompressorError, UncompressableFileError
|
from compressor.exceptions import CompressorError, UncompressableFileError
|
||||||
from compressor.filters import CompilerFilter
|
from compressor.filters import CompilerFilter
|
||||||
from compressor.storage import default_storage
|
from compressor.storage import default_storage, compressor_file_storage
|
||||||
from compressor.signals import post_compress
|
from compressor.signals import post_compress
|
||||||
from compressor.utils import get_class, staticfiles
|
from compressor.utils import get_class, staticfiles
|
||||||
from compressor.utils.decorators import cached_property, memoize
|
from compressor.utils.decorators import cached_property, memoize
|
||||||
@@ -74,8 +74,7 @@ class Compressor(object):
|
|||||||
filename = self.storage.path(basename)
|
filename = self.storage.path(basename)
|
||||||
except NotImplementedError:
|
except NotImplementedError:
|
||||||
# remote storages don't implement path, access the file locally
|
# remote storages don't implement path, access the file locally
|
||||||
local_storage = get_storage_class('compressor.storage.CompressorFileStorage')()
|
filename = compressor_file_storage.path(basename)
|
||||||
filename = local_storage.path(basename)
|
|
||||||
# secondly try finding the file in the root
|
# secondly try finding the file in the root
|
||||||
elif self.finders:
|
elif self.finders:
|
||||||
filename = self.finders.find(basename)
|
filename = self.finders.find(basename)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from os import path
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from django.core.files.storage import FileSystemStorage, get_storage_class
|
from django.core.files.storage import FileSystemStorage, get_storage_class
|
||||||
from django.utils.functional import LazyObject
|
from django.utils.functional import LazyObject, SimpleLazyObject
|
||||||
|
|
||||||
from compressor.conf import settings
|
from compressor.conf import settings
|
||||||
|
|
||||||
@@ -42,6 +42,10 @@ class CompressorFileStorage(FileSystemStorage):
|
|||||||
return name
|
return name
|
||||||
|
|
||||||
|
|
||||||
|
compressor_file_storage = SimpleLazyObject(
|
||||||
|
lambda: get_storage_class('compressor.storage.CompressorFileStorage')())
|
||||||
|
|
||||||
|
|
||||||
class GzipCompressorFileStorage(CompressorFileStorage):
|
class GzipCompressorFileStorage(CompressorFileStorage):
|
||||||
"""
|
"""
|
||||||
The standard compressor file system storage that gzips storage files
|
The standard compressor file system storage that gzips storage files
|
||||||
|
|||||||
Reference in New Issue
Block a user