43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
|
import warnings
|
||
|
|
||
|
from django.conf import DEFAULT_STORAGE_ALIAS, settings
|
||
|
from django.utils.deprecation import RemovedInDjango51Warning
|
||
|
from django.utils.functional import LazyObject
|
||
|
from django.utils.module_loading import import_string
|
||
|
|
||
|
from .base import Storage
|
||
|
from .filesystem import FileSystemStorage
|
||
|
from .handler import InvalidStorageError, StorageHandler
|
||
|
from .memory import InMemoryStorage
|
||
|
|
||
|
__all__ = (
|
||
|
"FileSystemStorage",
|
||
|
"InMemoryStorage",
|
||
|
"Storage",
|
||
|
"DefaultStorage",
|
||
|
"default_storage",
|
||
|
"get_storage_class",
|
||
|
"InvalidStorageError",
|
||
|
"StorageHandler",
|
||
|
"storages",
|
||
|
)
|
||
|
|
||
|
GET_STORAGE_CLASS_DEPRECATED_MSG = (
|
||
|
"django.core.files.storage.get_storage_class is deprecated in favor of "
|
||
|
"using django.core.files.storage.storages."
|
||
|
)
|
||
|
|
||
|
|
||
|
def get_storage_class(import_path=None):
|
||
|
warnings.warn(GET_STORAGE_CLASS_DEPRECATED_MSG, RemovedInDjango51Warning)
|
||
|
return import_string(import_path or settings.DEFAULT_FILE_STORAGE)
|
||
|
|
||
|
|
||
|
class DefaultStorage(LazyObject):
|
||
|
def _setup(self):
|
||
|
self._wrapped = storages[DEFAULT_STORAGE_ALIAS]
|
||
|
|
||
|
|
||
|
storages = StorageHandler()
|
||
|
default_storage = DefaultStorage()
|