diff options
| author | Florian Apolloner <florian@apolloner.eu> | 2020-12-07 12:34:09 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-12-07 17:44:16 +0100 |
| commit | 148702e7258eafb27d5488b33a723c87d898e22b (patch) | |
| tree | 8f98ccc7acc039f529ee5f4fafbd60873680cd56 /django/core/cache | |
| parent | 85729545f11257b7790e098fb224637715263616 (diff) | |
Refs #21012 -- Removed unnecessary _create_cache() hook.
This removes unused (since d038c547b5ce585cbf9ef5bb7e5298f52e4a243b)
workaround to load a cache backend with its dotted import path and
moves remaining logic to the CacheHandler.
Thanks Tim Graham for the review.
Diffstat (limited to 'django/core/cache')
| -rw-r--r-- | django/core/cache/__init__.py | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/django/core/cache/__init__.py b/django/core/cache/__init__.py index ed72fe88e1..b4bb2086c5 100644 --- a/django/core/cache/__init__.py +++ b/django/core/cache/__init__.py @@ -29,31 +29,6 @@ __all__ = [ DEFAULT_CACHE_ALIAS = 'default' -def _create_cache(backend, **kwargs): - try: - # Try to get the CACHES entry for the given backend name first - try: - conf = settings.CACHES[backend] - except KeyError: - try: - # Trying to import the given backend, in case it's a dotted path - import_string(backend) - except ImportError as e: - raise InvalidCacheBackendError("Could not find backend '%s': %s" % ( - backend, e)) - location = kwargs.pop('LOCATION', '') - params = kwargs - else: - params = {**conf, **kwargs} - backend = params.pop('BACKEND') - location = params.pop('LOCATION', '') - backend_cls = import_string(backend) - except ImportError as e: - raise InvalidCacheBackendError( - "Could not find backend '%s': %s" % (backend, e)) - return backend_cls(location, params) - - class CacheHandler: """ A Cache Handler to manage access to Cache instances. @@ -75,8 +50,16 @@ class CacheHandler: raise InvalidCacheBackendError( "Could not find config for '%s' in settings.CACHES" % alias ) - - cache = _create_cache(alias) + params = settings.CACHES[alias].copy() + backend = params.pop('BACKEND') + location = params.pop('LOCATION', '') + try: + backend_cls = import_string(backend) + except ImportError as e: + raise InvalidCacheBackendError( + "Could not find backend '%s': %s" % (backend, e) + ) + cache = backend_cls(location, params) self._caches.caches[alias] = cache return cache |
