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
	 Jannis Leidel
					Jannis Leidel