Use json instead of pickle

This commit is contained in:
richard-dds
2018-11-16 14:12:42 -05:00
parent af105e08bc
commit 29f9520dda

View File

@@ -1,5 +1,5 @@
from hashlib import sha256 from hashlib import sha256
import pickle import json
DEFAULT_CACHE_NAME = "formcache" DEFAULT_CACHE_NAME = "formcache"
@@ -15,7 +15,7 @@ class FormCache(object):
return self.read(cache_key) return self.read(cache_key)
def write(self, formdata, expiry_seconds=3600, key_prefix=DEFAULT_CACHE_NAME): def write(self, formdata, expiry_seconds=3600, key_prefix=DEFAULT_CACHE_NAME):
value = pickle.dumps(formdata) value = json.dumps(formdata)
hash_ = sha256().hexdigest() hash_ = sha256().hexdigest()
self.redis.setex( self.redis.setex(
name=self._key(key_prefix, hash_), value=value, time=expiry_seconds name=self._key(key_prefix, hash_), value=value, time=expiry_seconds
@@ -24,7 +24,7 @@ class FormCache(object):
def read(self, formdata_key, key_prefix=DEFAULT_CACHE_NAME): def read(self, formdata_key, key_prefix=DEFAULT_CACHE_NAME):
data = self.redis.get(self._key(key_prefix, formdata_key)) data = self.redis.get(self._key(key_prefix, formdata_key))
return pickle.loads(data) if data is not None else {} return json.loads(data) if data is not None else {}
@staticmethod @staticmethod
def _key(prefix, hash_): def _key(prefix, hash_):