Skip to content

Commit 216e173

Browse files
vytisbauvipy
authored andcommitted
Removed DjangoMemcacheWrapper (#477)
Unused since Django 1.2
1 parent 1612037 commit 216e173

File tree

2 files changed

+0
-65
lines changed

2 files changed

+0
-65
lines changed

djcelery/backends/cache.py

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
from datetime import timedelta
55

6-
import django
7-
from django.utils.encoding import smart_str
86
from django.core.cache import cache, caches
97

108
from celery import current_app
@@ -15,37 +13,6 @@
1513
cache = caches[current_app.conf.CELERY_CACHE_BACKEND] # noqa
1614

1715

18-
class DjangoMemcacheWrapper(object):
19-
"""Wrapper class to django's memcache backend class, that overrides the
20-
:meth:`get` method in order to remove the forcing of unicode strings
21-
since it may cause binary or pickled data to break."""
22-
23-
def __init__(self, cache):
24-
self.cache = cache
25-
26-
def get(self, key, default=None):
27-
val = self.cache._cache.get(smart_str(key))
28-
if val is None:
29-
return default
30-
else:
31-
return val
32-
33-
def set(self, key, value, timeout=0):
34-
self.cache.set(key, value, timeout)
35-
36-
# Check if django is using memcache as the cache backend. If so, wrap the
37-
# cache object in a DjangoMemcacheWrapper for Django < 1.2 that fixes a bug
38-
# with retrieving pickled data.
39-
from django.core.cache.backends.base import InvalidCacheBackendError # noqa
40-
try:
41-
from django.core.cache.backends.memcached import CacheClass
42-
except (ImportError, AttributeError, InvalidCacheBackendError):
43-
pass
44-
else:
45-
if django.VERSION[0:2] < (1, 2) and isinstance(cache, CacheClass):
46-
cache = DjangoMemcacheWrapper(cache)
47-
48-
4916
class CacheBackend(KeyValueStoreBackend):
5017
"""Backend using the Django cache framework to store task metadata."""
5118

djcelery/tests/test_backends/test_cache.py

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from datetime import timedelta
66

77
from billiard.einfo import ExceptionInfo
8-
from django.core.cache.backends.base import InvalidCacheBackendError
98

109
from celery import result
1110
from celery import states
@@ -114,34 +113,3 @@ def test_custom_cache_backend(self):
114113
finally:
115114
current_app.conf.CELERY_CACHE_BACKEND = prev_backend
116115
sys.modules['djcelery.backends.cache'] = prev_module
117-
118-
119-
class test_MemcacheWrapper(unittest.TestCase):
120-
121-
def test_memcache_wrapper(self):
122-
123-
try:
124-
from django.core.cache.backends import memcached
125-
from django.core.cache.backends import locmem
126-
except InvalidCacheBackendError:
127-
sys.stderr.write(
128-
'\n* Memcache library is not installed. Skipping test.\n')
129-
return
130-
try:
131-
prev_cache_cls = memcached.CacheClass
132-
memcached.CacheClass = locmem.CacheClass
133-
except AttributeError:
134-
return
135-
prev_backend_module = sys.modules.pop('djcelery.backends.cache')
136-
try:
137-
from djcelery.backends.cache import cache
138-
key = 'cu.test_memcache_wrapper'
139-
val = 'The quick brown fox.'
140-
default = 'The lazy dog.'
141-
142-
self.assertEqual(cache.get(key, default=default), default)
143-
cache.set(key, val)
144-
self.assertEqual(cache.get(key, default=default), val)
145-
finally:
146-
memcached.CacheClass = prev_cache_cls
147-
sys.modules['djcelery.backends.cache'] = prev_backend_module

0 commit comments

Comments
 (0)