Having a conversation using comments within jira seems really weird. Anyone else? Just me?

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()





Reply via email to