소스 검색

Import pickle from celery.serialization

Ask Solem 16 년 전
부모
커밋
15e09870cb
1개의 변경된 파일5개의 추가작업 그리고 8개의 파일을 삭제
  1. 5 8
      celery/fields.py

+ 5 - 8
celery/fields.py

@@ -7,10 +7,7 @@ Custom Django Model Fields.
 from copy import deepcopy
 from copy import deepcopy
 from base64 import b64encode, b64decode
 from base64 import b64encode, b64decode
 from zlib import compress, decompress
 from zlib import compress, decompress
-try:
-    from cPickle import loads, dumps
-except ImportError:
-    from pickle import loads, dumps
+from celery.seralization import pickle
 
 
 from django.db import models
 from django.db import models
 from django.utils.encoding import force_unicode
 from django.utils.encoding import force_unicode
@@ -41,16 +38,16 @@ def dbsafe_encode(value, compress_object=False):
     for the lookups to work properly. See tests.py for more information.
     for the lookups to work properly. See tests.py for more information.
     """
     """
     if not compress_object:
     if not compress_object:
-        value = b64encode(dumps(deepcopy(value)))
+        value = b64encode(pickle.dumps(deepcopy(value)))
     else:
     else:
-        value = b64encode(compress(dumps(deepcopy(value))))
+        value = b64encode(compress(pickle.dumps(deepcopy(value))))
     return PickledObject(value)
     return PickledObject(value)
 
 
 def dbsafe_decode(value, compress_object=False):
 def dbsafe_decode(value, compress_object=False):
     if not compress_object:
     if not compress_object:
-        value = loads(b64decode(value))
+        value = pickle.loads(b64decode(value))
     else:
     else:
-        value = loads(decompress(b64decode(value)))
+        value = pickle.loads(decompress(b64decode(value)))
     return value
     return value
 
 
 class PickledObjectField(models.Field):
 class PickledObjectField(models.Field):