summaryrefslogtreecommitdiffstats
path: root/bindings/python/lang.py
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-22 13:30:42 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-22 13:30:42 +0000
commit24c7a4f8a77cac7a74ba147993f90a158b8a924a (patch)
tree4a68bf8cdd848efee69778501d719f04c2a85f5c /bindings/python/lang.py
parent46a823ff85c402615af1336d574906171c117ed1 (diff)
downloadlasso-24c7a4f8a77cac7a74ba147993f90a158b8a924a.tar.gz
lasso-24c7a4f8a77cac7a74ba147993f90a158b8a924a.tar.xz
lasso-24c7a4f8a77cac7a74ba147993f90a158b8a924a.zip
Binding python: add pickling support to LassoNode
* bindings/python/lang.py: support pickling protocol methods __getstate__ and __setstate__ leveraging the lasso_node_dump and lasso_node_new_from_dump methods from Lasso.
Diffstat (limited to 'bindings/python/lang.py')
-rw-r--r--bindings/python/lang.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/bindings/python/lang.py b/bindings/python/lang.py
index b3ca2b68..5502ed05 100644
--- a/bindings/python/lang.py
+++ b/bindings/python/lang.py
@@ -263,6 +263,16 @@ def session_get_provider_ids(self):
return self.assertions.keys()
Session.providerIds = property(session_get_provider_ids)
+def LassoNode__getstate__(self):
+ return { '__dump__': self.dump() }
+
+def LassoNode__setstate__(self, d):
+ dump = d['__dump__']
+ self._cptr = _lasso.node_new_from_dump(dump)
+
+Node.__getstate__ = LassoNode__getstate__
+Node.__setstate__ = LassoNode__setstate__
+
Samlp2AuthnRequest.nameIDPolicy = Samlp2AuthnRequest.nameIdPolicy
LibAuthnRequest.nameIDPolicy = LibAuthnRequest.nameIdPolicy
Saml2Subject.nameID = Saml2Subject.nameId