replaced JsonPickle with cPickle for signed packages

This commit is contained in:
Ilan Steemers
2015-06-24 21:57:23 +02:00
parent d0880d06ac
commit 5068641de0
4 changed files with 15 additions and 11 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ env:
install:
- pip install -q django==$DJANGO
- pip install -r requirements.txt
- pip install pytest-django simplejson pytz coverage coveralls
- pip install pytest-django pytz coverage coveralls
- python setup.py install
script:
+13 -8
View File
@@ -6,8 +6,8 @@ from __future__ import absolute_import
from builtins import dict
from builtins import range
from datetime import datetime
from django.utils.timezone import make_aware
from django.utils.timezone import make_aware
from future import standard_library
standard_library.install_aliases()
@@ -23,8 +23,12 @@ import sys
from time import sleep
import gc
try:
import cPickle as pickle
except ImportError:
import pickle
# External
import jsonpickle
import coloredlogs
import redis
@@ -55,6 +59,7 @@ def time_zone(value):
return make_aware(value)
return value
class Cluster(object):
def __init__(self, list_key=Q_LIST):
try:
@@ -341,17 +346,17 @@ class SignedPackage(object):
key=SECRET_KEY,
salt='django_q.q',
compress=compressed,
serializer=JSONPickleSerializer)
serializer=PickleSerializer)
@staticmethod
def loads(obj):
return signing.loads(obj,
key=SECRET_KEY,
salt='django_q.q',
serializer=JSONPickleSerializer)
serializer=PickleSerializer)
class JSONPickleSerializer(object):
class PickleSerializer(object):
"""
Simple wrapper around JsonPickle for signing.dumps and
signing.loads.
@@ -359,11 +364,11 @@ class JSONPickleSerializer(object):
@staticmethod
def dumps(obj):
return jsonpickle.dumps(obj).encode('latin-1')
return pickle.dumps(obj)
@staticmethod
def loads(data):
return jsonpickle.loads(data.decode('latin-1'))
return pickle.loads(data)
class Status(object):
@@ -383,7 +388,7 @@ class Status(object):
class Stat(Status):
def __init__(self, sentinel, message=None):
def __init__(self, sentinel, message=None):
super(Stat, self).__init__(sentinel.parent_pid)
if message:
sentinel.status = message
-1
View File
@@ -4,6 +4,5 @@ django-picklefield==0.3.1
Django==1.8.2
future==0.14.3
hiredis==0.2.0
jsonpickle==0.9.2
redis==2.10.3
+1 -1
View File
@@ -35,7 +35,7 @@ setup(
license='MIT',
description='A multiprocessing task queue for Django',
long_description=README,
install_requires=['django>=1.7', 'redis', 'coloredlogs', 'django-picklefield', 'jsonpickle', 'blessed'],
install_requires=['django>=1.7', 'redis', 'coloredlogs', 'django-picklefield', 'blessed'],
cmdclass={'test': PyTest},
classifiers=[
'Development Status :: 2 - PreAlpha',