[ http://issues.apache.org/jira/browse/MODPYTHON-38?page=comments#action_65506 ] Jim Gallacher commented on MODPYTHON-38: ----------------------------------------
Explicitly checking for req.session within PSP.run would also fix an unreported bug, where the calling code uses a Session class which is different from the default. def handler(req): ... sess = Session.FileSession() template = psp.PSP(req,filename=path,vars=settings) template.run() And in class PSP we have: def run(self, vars={}): code, req = self.code, self.req # does this code use session? session = None if "session" in code.co_names: session = Session.Session(req) Currently Session.Session uses dbm as the default session class, so in the above code snippet we end up with 2 different persistent stores for the session data. > Passing req.form into psp.PSP(). > -------------------------------- > > Key: MODPYTHON-38 > URL: http://issues.apache.org/jira/browse/MODPYTHON-38 > Project: mod_python > Type: Improvement > Versions: 3.1.4 > Reporter: Graham Dumpleton > Priority: Minor > > When calling psp.PSP() explicitly to render PSP pages, it will internally > setup > req.form if it determines that the form is accessed by the PSP page. > Problem is that if you are wanting to trigger psp.PSP() from a publisher > function > any form parameters have already been processed and req.form created. For a > POST request this is problematic as in doing this it will have consumed all > the > content of the request. > This means that when the form is processed a second time by psp.PSP(), it will > find no request content. Thus, the PSP page will only be able to make use of > GET form parameters and not POST form parameters. > It would be an improvement if psp.PSP() allowed a instance of > util.FieldStorage > which has previously been created to be passed in through the "form" parameter > of the constructor. Ie., > template = psp.PSP(req,filename=path,vars=settings,form=req.form) > template.run() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira