Graham Dumpleton
graham.dumpleton at gmail.com
Wed Mar 26 16:03:55 EDT 2008
Inspect the value of the cookie in the browser, post it here. What is the path attribute associated with it? Do you perhaps have two cookies stored in the browser with different paths because of how you have configured mod_python? You can also use live headers extension in FireFox to see what the cookie header sent back in response is to validate it looks right. Graham On 27/03/2008, Dominique.Holzwarth at ch.delarue.com <Dominique.Holzwarth at ch.delarue.com> wrote: > Hello everyone > > I've already did some testing with mod_python's session mechanism and so far it seemed to work nice. My latest test case doesn't work at all tho... > > I have to scripts, sessiontest1.py and sessiontest2.py, both are directly in my "python-root" (the folder the publisher handler is using) > > Sessiontest1.py: > ************************************************** > from mod_python import Session > import sessiontest2 > > secretText = "mysecret" > > def index(req): > myClassObject = sessiontest2.myClass() > msg = myClassObject.add() > req.session = Session.FileSession(req) > req.session['test'] = 5 > req.session['meinKlassenObjekt'] = myClassObject > req.session.save() > return myClassObject.show(req.session.id()) > > ************************************************** > > Sessiontest2.py > ************************************************** > from mod_python import Session > > secretText = "mysecret" > > def index(req): > req.session = Session.FileSession(req) > if req.session.is_new(): > return "Session is new: "+req.session.id() > else: > lala = req.session['test'] > myClassObject = req.session['meinKlassenObjekt'] > newVal = req.form.getfirst('button') > cnt = myClassObject.add(newVal) > req.session['meinKlassenObjekt'] = myClassObject > req.session.save() > return cnt > return "default return" > > class myClass: > def __init__(self): > self.counter = 0 > > def add(self, val=1): > self.counter = self.counter + val > return self.counter > > def show(self, *value): > msg = """ > <html><body> > <form action='/python/sessiontest2.py' method='post'> > <input name='counter' type='text' readonly value='%s'/> > <input name='new' type='text' /> > <input name='button' type='submit' value='Add' /> > </form> > <p>ID: %s</p> > </body></html> > """ % (self.counter, value) > return msg > **************************************************** > > Here's what's happening: > > I call the sessiontest1.py which creates a new session (for a fresh browser window), does some stuff with the class-object, saves the object (resp. the session) and then it returns the html site generated from that class. > When I submit that form the sessiontest2.py script is called and in my opinion it should load the previously created session (and do the stuff inside the 'else'). However, it always creates a new session instead of using the old one... > > Maybe anyone got an idea what could be wrong? Would be really nice! > > Greetings > Dominique > > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|