Commit 77213d12 authored by Tim Graham's avatar Tim Graham

Replace compat.smart_text()/smart_bytes() with force_text/force_bytes()

parent f92c0eca
try:
# Django 1.5+
from django.utils.encoding import smart_text, smart_bytes
except ImportError:
# older Django, thus definitely Python 2
from django.utils.encoding import smart_unicode, smart_str
smart_text = smart_unicode
smart_bytes = smart_str
......@@ -15,7 +15,7 @@ try:
except ImportError:
pass
from redis_cache.compat import smart_bytes, smart_text
from django.utils.encoding import force_bytes, force_text
class BaseSerializer(object):
......@@ -39,7 +39,7 @@ class PickleSerializer(object):
return pickle.dumps(value, self.pickle_version)
def deserialize(self, value):
return pickle.loads(smart_bytes(value))
return pickle.loads(force_bytes(value))
class JSONSerializer(BaseSerializer):
......@@ -48,10 +48,10 @@ class JSONSerializer(BaseSerializer):
super(JSONSerializer, self).__init__(**kwargs)
def serialize(self, value):
return smart_bytes(json.dumps(value))
return force_bytes(json.dumps(value))
def deserialize(self, value):
return json.loads(smart_text(value))
return json.loads(force_text(value))
class MSGPackSerializer(BaseSerializer):
......
from bisect import insort, bisect
import hashlib
from redis_cache.compat import smart_text
from django.utils.encoding import force_text
DIGITS = 8
......@@ -17,8 +17,8 @@ class Node(object):
self._node = node
self._i = i
key = "{0}:{1}".format(
smart_text(i),
smart_text(self._node),
force_text(i),
force_text(self._node),
)
self._position = get_slot(key)
......@@ -52,5 +52,5 @@ class HashRing(object):
del self._nodes[n - i - 1]
def get_node(self, key):
i = bisect(self._nodes, get_slot(smart_text(key))) - 1
i = bisect(self._nodes, get_slot(force_text(key))) - 1
return self._nodes[i]._node
......@@ -3,13 +3,11 @@ import warnings
from django.core.exceptions import ImproperlyConfigured
from django.utils import six
from django.utils.encoding import python_2_unicode_compatible
from django.utils.encoding import force_text, python_2_unicode_compatible
from django.utils.six.moves.urllib.parse import parse_qs, urlparse
from redis.connection import SSLConnection
from redis_cache.compat import smart_text
@python_2_unicode_compatible
class CacheKey(object):
......@@ -24,7 +22,7 @@ class CacheKey(object):
return self._versioned_key == other
def __str__(self):
return smart_text(self._versioned_key)
return force_text(self._versioned_key)
def __hash__(self):
return hash(self._versioned_key)
......
......@@ -15,12 +15,12 @@ except ImportError:
from django.core.cache import get_cache
from django.core.exceptions import ImproperlyConfigured
from django.test import TestCase, override_settings
from django.utils.encoding import force_bytes
import redis
from tests.testapp.models import Poll, expensive_calculation
from redis_cache.cache import RedisCache, pool
from redis_cache.compat import smart_bytes
from redis_cache.utils import get_servers, parse_connection_kwargs
......@@ -468,7 +468,7 @@ class BaseRedisTestCase(SetupMixin):
def test_reinsert_keys(self):
self.cache._pickle_version = 0
for i in range(2000):
s = sha1(smart_bytes(i)).hexdigest()
s = sha1(force_bytes(i)).hexdigest()
self.cache.set(s, self.cache)
self.cache._pickle_version = -1
self.cache.reinsert_keys()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment