Adrian Immler
mod_python-maillist at uebergeek.de
Mon Feb 21 12:19:01 EST 2005
hello ! [code at the end] i have reduced my script to a minimum, but somehow only the sess.save() in the "if" condition works just before the redirect. every later attempt i am told: ------[ SNIP ]---------------------------------------------- Mod_python error: "PythonHandler mptest" Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 299, in HandlerDispatch result = object(req) File "/usr/local/httpd/htdocs/test/mptest.py", line 42, in handler sess.save() File "/usr/lib/python2.4/site-packages/mod_python/Session.py", line 204, in save self.do_save(dict) File "/usr/lib/python2.4/site-packages/mod_python/Session.py", line 329, in do_save dbm[self._sid] = cPickle.dumps(dict) File "/usr/lib/python2.4/dumbdbm.py", line 160, in __setitem__ raise TypeError, "keys and values must be strings" TypeError: keys and values must be strings ------[ SNAP ]---------------------------------------------- so what am i doing wrong ? here is the non-working code: ------[ SNIP ]---------------------------------------------- from mod_python import apache from mod_python import util from mod_python.util import FieldStorage from mod_python import Session def handler(req): req.content_type = "text/html" fs = FieldStorage(req) sess = Session.Session(req, fs.getfirst("SID")) if sess.is_new(): sess.save() util.redirect(req,"http://localhost/test/mptest.py?SID=" + sess.id()) else: sess['foo'] = 'spam' sess['bar'] = 'eggs' sess.save() return apache.OK
|