From 95e484d07372cb01f83f7d5024256e947ce956ec Mon Sep 17 00:00:00 2001 From: Venelin Stoykov Date: Thu, 9 Feb 2017 00:43:08 +0200 Subject: [PATCH] Cleanup caching configuration Requires Django 1.3+ --- imagekit/conf.py | 25 +++++-------------------- imagekit/utils.py | 7 ++++--- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/imagekit/conf.py b/imagekit/conf.py index 84dffb6..88af072 100644 --- a/imagekit/conf.py +++ b/imagekit/conf.py @@ -1,5 +1,6 @@ from appconf import AppConf from django.conf import settings +from django.core.exceptions import ImproperlyConfigured class ImageKitConf(AppConf): @@ -17,27 +18,11 @@ class ImageKitConf(AppConf): def configure_cache_backend(self, value): if value is None: - # DEFAULT_CACHE_ALIAS doesn't exist in Django<=1.2 - try: - from django.core.cache import DEFAULT_CACHE_ALIAS as default_cache_alias - except ImportError: - default_cache_alias = 'default' + from django.core.cache import DEFAULT_CACHE_ALIAS + return DEFAULT_CACHE_ALIAS - caches = getattr(settings, 'CACHES', None) - if caches is None: - # Support Django<=1.2 there is no default `CACHES` setting - try: - from django.core.cache.backends.dummy import DummyCache - except ImportError: - dummy_cache = 'dummy://' - else: - dummy_cache = 'django.core.cache.backends.dummy.DummyCache' - return dummy_cache - - if default_cache_alias in caches: - value = default_cache_alias - else: - raise ValueError("The default cache alias '%s' is not available in CACHES" % default_cache_alias) + if value not in settings.CACHES: + raise ImproperlyConfigured("{0} is not present in settings.CACHES".format(value)) return value diff --git a/imagekit/utils.py b/imagekit/utils.py index eb01c1c..61caecb 100644 --- a/imagekit/utils.py +++ b/imagekit/utils.py @@ -148,14 +148,15 @@ def call_strategy_method(file, method_name): fn(file) -def get_cache(backend=settings.IMAGEKIT_CACHE_BACKEND): +def get_cache(): try: from django.core.cache import caches except ImportError: + # Django < 1.7 from django.core.cache import get_cache - return get_cache(backend) + return get_cache(settings.IMAGEKIT_CACHE_BACKEND) - return caches[backend] + return caches[settings.IMAGEKIT_CACHE_BACKEND] def sanitize_cache_key(key):