Files
django-q2/django_q/signing.py
T
Ronald van Zon 5eaa700866 Reverting core_signing to the old way.
By reverting django.core.signing to Django 1.11.8 version Django-Q works
This is not designed as a 'good' solution just to show where I think the
problem is.
2017-12-13 14:49:07 +01:00

45 lines
1.1 KiB
Python

"""Package signing."""
try:
import cPickle as pickle
except ImportError:
import pickle
from django_q import core_signing as signing
from django_q.conf import Conf
BadSignature = signing.BadSignature
class SignedPackage(object):
"""Wraps Django's signing module with custom Pickle serializer."""
@staticmethod
def dumps(obj, compressed=Conf.COMPRESSED):
return signing.dumps(obj,
key=Conf.SECRET_KEY,
salt=Conf.PREFIX,
compress=compressed,
serializer=PickleSerializer)
@staticmethod
def loads(obj):
return signing.loads(obj,
key=Conf.SECRET_KEY,
salt=Conf.PREFIX,
serializer=PickleSerializer)
class PickleSerializer(object):
"""Simple wrapper around Pickle for signing.dumps and signing.loads."""
@staticmethod
def dumps(obj):
return pickle.dumps(obj, protocol=pickle.HIGHEST_PROTOCOL)
@staticmethod
def loads(data):
return pickle.loads(data)