python - Pylons & Beaker: JSON Encoded Sessions -


need read pylons session data (just read, not write to) in node.js

once decode base64, i'm left string containing serialized python object which, pain parse in node.js

how can beaker serialize json instead? far easier node.js handle.

i had inside beaker find call "python serialized strings" python pickles.

i don't think more few lines change use json store dict.

here patch against https://bitbucket.org/bbangert/beaker/src/257f147861c8:

diff -r 257f147861c8 beaker/session.py --- a/beaker/session.py mon apr 18 11:38:53 2011 -0400 +++ b/beaker/session.py sat apr 30 14:19:12 2011 -0400 @@ -489,10 +489,10 @@              nonce = b64encode(os.urandom(40))[:8]              encrypt_key = crypto.generatecryptokeys(self.encrypt_key,                                               self.validate_key + nonce, 1) -            data = util.pickle.dumps(self.copy(), 2) +            data = util.json.dumps(self.copy())              return nonce + b64encode(crypto.aesencrypt(data, encrypt_key))          else: -            data = util.pickle.dumps(self.copy(), 2) +            data = util.json.dumps(self.copy())              return b64encode(data)       def _decrypt_data(self): @@ -504,10 +504,10 @@                                               self.validate_key + nonce, 1)              payload = b64decode(self.cookie[self.key].value[8:])              data = crypto.aesdecrypt(payload, encrypt_key) -            return util.pickle.loads(data) +            return util.json.loads(data)          else:              data = b64decode(self.cookie[self.key].value) -            return util.pickle.loads(data) +            return util.json.loads(data)       def save(self, accessed_only=false):          """saves data session persistent storage""" diff -r 257f147861c8 beaker/util.py --- a/beaker/util.py    mon apr 18 11:38:53 2011 -0400 +++ b/beaker/util.py    sat apr 30 14:19:12 2011 -0400 @@ -24,6 +24,11 @@      import pickle  else:      import cpickle pickle + +try: +    import json +except importerror: +    import simplejson json   beaker.converters import asbool  beaker import exceptions 

Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -