summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2015-11-23 12:59:55 -0600
committerMichael Merickel <michael@merickel.org>2015-11-23 12:59:55 -0600
commitee9c620963553a3a959cdfc517f1e0818a21e9c0 (patch)
treeb13504cba928fdd68326531906e1ae571f255d93
parent19ae2c65a0ec9bad0a5e5b195b72647b96676a49 (diff)
downloadpyramid-ee9c620963553a3a959cdfc517f1e0818a21e9c0.tar.gz
pyramid-ee9c620963553a3a959cdfc517f1e0818a21e9c0.tar.bz2
pyramid-ee9c620963553a3a959cdfc517f1e0818a21e9c0.zip
expose the PickleSerializer
-rw-r--r--docs/api/session.rst1
-rw-r--r--pyramid/session.py18
2 files changed, 16 insertions, 3 deletions
diff --git a/docs/api/session.rst b/docs/api/session.rst
index dde9d20e9..474e2bb32 100644
--- a/docs/api/session.rst
+++ b/docs/api/session.rst
@@ -17,4 +17,5 @@
.. autofunction:: BaseCookieSessionFactory
+ .. autoclass:: PickleSerializer
diff --git a/pyramid/session.py b/pyramid/session.py
index fa85fe69c..51f9de620 100644
--- a/pyramid/session.py
+++ b/pyramid/session.py
@@ -133,13 +133,25 @@ def check_csrf_token(request,
return True
class PickleSerializer(object):
- """ A Webob cookie serializer that uses the pickle protocol to dump Python
- data to bytes."""
+ """ A serializer that uses the pickle protocol to dump Python
+ data to bytes.
+
+ This is the default serializer used by Pyramid.
+
+ ``protocol`` may be specified to control the version of pickle used.
+ Defaults to :attr:`pickle.HIGHEST_PROTOCOL`.
+
+ """
+ def __init__(self, protocol=pickle.HIGHEST_PROTOCOL):
+ self.protocol = protocol
+
def loads(self, bstruct):
+ """Accept bytes and return a Python object."""
return pickle.loads(bstruct)
def dumps(self, appstruct):
- return pickle.dumps(appstruct, pickle.HIGHEST_PROTOCOL)
+ """Accept a Python object and return bytes."""
+ return pickle.dumps(appstruct, self.protocol)
def BaseCookieSessionFactory(
serializer,