Hi Nicolas, Jim

PythonSessionCreate as suggested is nice for flexibility, but scary for non-coders - I like Jim's multiple options for that reason

David

Nicolas Lehuen wrote:

Hi Jim,

Why not have a single 'PythonSessionCreate' option which contains the
line of code that should be evaled to create the session ?

Example :

PythonSessionCreate
"Session.FileSession(session_directory='/var/lib/mod_python/sess',timeout=14400,lock=1)"

The cost of eval could be brought down by precompiling the option
string to a code object and running the code object in precompiled
form.

This seems a bit more flexible to me and won't force you to refactor
the Session.py code.

Regards,
Nicolas

2005/6/12, Jim Gallacher <[EMAIL PROTECTED]>:
I've created a new apache directive called PythonSessionOption. This
would be used to configure session handling in the apache config file.
This data is accessed with a new request method, req.get_session_options().

Although we could use the PythonOption directive instead of creating a
new one, I believe it's better to keep the session config data separate
so we don't need to worry about collisions with current user code or
configuration.

Typical Usage
-------------

In a test script mptest.py

def handler(req)
    opts = req.get_session_options()
    for k in sess_conf:
        req.write('%s: %s' % (k,opts[k])

In Session.FileSession:
    __init__(self,req,sid):
        opts = req.get_session_options()
        timeout = int(opts.get('timeout', DFT_TIMEOUT))

In an Apache config file:

<VirtualHost 192.168.1.12:80>
        ServerAdmin [EMAIL PROTECTED]
        ServerName example.com
        DocumentRoot /var/www/

        PythonSessionOption session FileSession
        PythonSessionOption session_directory /var/lib/mod_python/sess

        PythonSessionOption timeout 14400
        PythonSessionOption lock 1

        ...
</VirtualHost>

If there are no objections I'll commit the code. I have not refactored
Sessions.py to use the new configuration scheme just yet.

Regards,
Jim



Reply via email to