Especially when all I want to say is I agree. :)
Graham Dumpleton (JIRA) wrote:
[ http://issues.apache.org/jira/browse/MODPYTHON-38?page=comments#action_65564 ]
Graham Dumpleton commented on MODPYTHON-38:
-------------------------------------------
Have something else to question in the run() code above. That is, I think that doing:
if session is not None: session.unlock()
is questionable and probably shouldn't be done.
It should be done in the cleanup handler registered by the session object itself when it is created if I remember things correctly.
Especially if we start caching session object in the req object, by unlocking it, even if it was created by the PSP object, it makes the session object unusable in code that may follow explicit use of PSP object in a handler, or in a subsequent log handler.
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()