Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 60b07ef8a450e06ff416ea671ef81dd4 > files > 32

python-pyweblib-1.3.5-1mdv2010.0.noarch.rpm


<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module pyweblib.session</title>
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="pyweblib.html"><font color="#ffffff">pyweblib</font></a>.session</strong></big></big> (version 0.3.4)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/lib/python2.3/site-packages/pyweblib/session.py">/usr/lib/python2.3/site-packages/pyweblib/session.py</a></font></td></tr></table>
    <p><tt>pyweblib.session&nbsp;-&nbsp;server-side&nbsp;web&nbsp;session&nbsp;handling<br>
(C)&nbsp;2001&nbsp;by&nbsp;Michael&nbsp;Stroeder&nbsp;&lt;michael@stroeder.com&gt;<br>
&nbsp;<br>
This&nbsp;module&nbsp;implements&nbsp;server&nbsp;side&nbsp;session&nbsp;handling&nbsp;stored&nbsp;in<br>
arbitrary&nbsp;string-keyed&nbsp;dictionary&nbsp;objects<br>
&nbsp;<br>
This&nbsp;module&nbsp;is&nbsp;distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the<br>
GPL&nbsp;(GNU&nbsp;GENERAL&nbsp;PUBLIC&nbsp;LICENSE)&nbsp;Version&nbsp;2<br>
(see&nbsp;<a href="http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</a>)<br>
&nbsp;<br>
$Id: pyweblib.session.html,v 1.13 2004/08/24 10:26:30 michael Exp $</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="pickle.html">pickle</a><br>
<a href="random.html">random</a><br>
</td><td width="25%" valign=top><a href="re.html">re</a><br>
<a href="string.html">string</a><br>
</td><td width="25%" valign=top><a href="threading.html">threading</a><br>
<a href="time.html">time</a><br>
</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="exceptions.html#Exception">exceptions.Exception</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="pyweblib.session.html#SessionException">SessionException</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="pyweblib.session.html#BadSessionId">BadSessionId</a>
</font></dt><dt><font face="helvetica, arial"><a href="pyweblib.session.html#CorruptData">CorruptData</a>
</font></dt><dt><font face="helvetica, arial"><a href="pyweblib.session.html#GenerateIDError">GenerateIDError</a>
</font></dt><dt><font face="helvetica, arial"><a href="pyweblib.session.html#InvalidSessionId">InvalidSessionId</a>
</font></dt><dt><font face="helvetica, arial"><a href="pyweblib.session.html#MaxSessionCountExceeded">MaxSessionCountExceeded</a>
</font></dt><dt><font face="helvetica, arial"><a href="pyweblib.session.html#SessionExpired">SessionExpired</a>
</font></dt><dt><font face="helvetica, arial"><a href="pyweblib.session.html#SessionHijacked">SessionHijacked</a>
</font></dt></dl>
</dd>
</dl>
</dd>
<dt><font face="helvetica, arial"><a href="threading.html#Thread">threading.Thread</a>(<a href="threading.html#_Verbose">threading._Verbose</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="pyweblib.session.html#CleanUpThread">CleanUpThread</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="pyweblib.session.html#WebSession">WebSession</a>
</font></dt></dl>
 <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="BadSessionId">class <strong>BadSessionId</strong></a>(<a href="pyweblib.session.html#SessionException">SessionException</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if&nbsp;session&nbsp;ID&nbsp;not&nbsp;found&nbsp;in&nbsp;session&nbsp;dictionary.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#BadSessionId">BadSessionId</a></dd>
<dd><a href="pyweblib.session.html#SessionException">SessionException</a></dd>
<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="BadSessionId-__init__"><strong>__init__</strong></a>(self, session_id)</dt></dl>

<dl><dt><a name="BadSessionId-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="BadSessionId-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CleanUpThread">class <strong>CleanUpThread</strong></a>(<a href="threading.html#Thread">threading.Thread</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt><a href="threading.html#Thread">Thread</a>&nbsp;class&nbsp;for&nbsp;clean-up&nbsp;thread<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#CleanUpThread">CleanUpThread</a></dd>
<dd><a href="threading.html#Thread">threading.Thread</a></dd>
<dd><a href="threading.html#_Verbose">threading._Verbose</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="CleanUpThread-__init__"><strong>__init__</strong></a>(self, sessionInstance, interval<font color="#909090">=60</font>)</dt></dl>

<dl><dt><a name="CleanUpThread-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>

<dl><dt><a name="CleanUpThread-join"><strong>join</strong></a>(self, timeout<font color="#909090">=0.0</font>)</dt></dl>

<dl><dt><a name="CleanUpThread-run"><strong>run</strong></a>(self)</dt><dd><tt><a href="threading.html#Thread">Thread</a>&nbsp;function&nbsp;for&nbsp;cleaning&nbsp;up&nbsp;session&nbsp;database</tt></dd></dl>

<hr>
Methods inherited from <a href="threading.html#Thread">threading.Thread</a>:<br>
<dl><dt><a name="CleanUpThread-getName"><strong>getName</strong></a>(self)</dt></dl>

<dl><dt><a name="CleanUpThread-isAlive"><strong>isAlive</strong></a>(self)</dt></dl>

<dl><dt><a name="CleanUpThread-isDaemon"><strong>isDaemon</strong></a>(self)</dt></dl>

<dl><dt><a name="CleanUpThread-setDaemon"><strong>setDaemon</strong></a>(self, daemonic)</dt></dl>

<dl><dt><a name="CleanUpThread-setName"><strong>setName</strong></a>(self, name)</dt></dl>

<dl><dt><a name="CleanUpThread-start"><strong>start</strong></a>(self)</dt></dl>

<hr>
Data and other attributes inherited from <a href="threading.html#_Verbose">threading._Verbose</a>:<br>
<dl><dt><strong>__dict__</strong> = &lt;dictproxy object&gt;<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dl>

<dl><dt><strong>__weakref__</strong> = &lt;attribute '__weakref__' of '_Verbose' objects&gt;<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="CorruptData">class <strong>CorruptData</strong></a>(<a href="pyweblib.session.html#SessionException">SessionException</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if&nbsp;data&nbsp;was&nbsp;corrupt,&nbsp;e.g.&nbsp;UnpicklingError&nbsp;occured<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#CorruptData">CorruptData</a></dd>
<dd><a href="pyweblib.session.html#SessionException">SessionException</a></dd>
<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="CorruptData-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<hr>
Methods inherited from <a href="pyweblib.session.html#SessionException">SessionException</a>:<br>
<dl><dt><a name="CorruptData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="CorruptData-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="GenerateIDError">class <strong>GenerateIDError</strong></a>(<a href="pyweblib.session.html#SessionException">SessionException</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if&nbsp;generation&nbsp;of&nbsp;unique&nbsp;session&nbsp;ID&nbsp;failed.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#GenerateIDError">GenerateIDError</a></dd>
<dd><a href="pyweblib.session.html#SessionException">SessionException</a></dd>
<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="GenerateIDError-__init__"><strong>__init__</strong></a>(self, maxtry)</dt></dl>

<dl><dt><a name="GenerateIDError-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="GenerateIDError-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="InvalidSessionId">class <strong>InvalidSessionId</strong></a>(<a href="pyweblib.session.html#SessionException">SessionException</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if&nbsp;session&nbsp;ID&nbsp;not&nbsp;found&nbsp;in&nbsp;session&nbsp;dictionary.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#InvalidSessionId">InvalidSessionId</a></dd>
<dd><a href="pyweblib.session.html#SessionException">SessionException</a></dd>
<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="InvalidSessionId-__init__"><strong>__init__</strong></a>(self, session_id)</dt></dl>

<dl><dt><a name="InvalidSessionId-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="InvalidSessionId-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MaxSessionCountExceeded">class <strong>MaxSessionCountExceeded</strong></a>(<a href="pyweblib.session.html#SessionException">SessionException</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if&nbsp;maximum&nbsp;number&nbsp;of&nbsp;sessions&nbsp;is&nbsp;exceeded.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#MaxSessionCountExceeded">MaxSessionCountExceeded</a></dd>
<dd><a href="pyweblib.session.html#SessionException">SessionException</a></dd>
<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MaxSessionCountExceeded-__init__"><strong>__init__</strong></a>(self, max_session_count)</dt></dl>

<dl><dt><a name="MaxSessionCountExceeded-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="MaxSessionCountExceeded-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SessionException">class <strong>SessionException</strong></a>(<a href="exceptions.html#Exception">exceptions.Exception</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="SessionException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="SessionException-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

<dl><dt><a name="SessionException-__str__"><strong>__str__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SessionExpired">class <strong>SessionExpired</strong></a>(<a href="pyweblib.session.html#SessionException">SessionException</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if&nbsp;session&nbsp;is&nbsp;expired.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#SessionExpired">SessionExpired</a></dd>
<dd><a href="pyweblib.session.html#SessionException">SessionException</a></dd>
<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="SessionExpired-__init__"><strong>__init__</strong></a>(self, timestamp, session_data)</dt></dl>

<dl><dt><a name="SessionExpired-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="SessionExpired-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="SessionHijacked">class <strong>SessionHijacked</strong></a>(<a href="pyweblib.session.html#SessionException">SessionException</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Raised&nbsp;if&nbsp;hijacking&nbsp;of&nbsp;session&nbsp;was&nbsp;detected.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="pyweblib.session.html#SessionHijacked">SessionHijacked</a></dd>
<dd><a href="pyweblib.session.html#SessionException">SessionException</a></dd>
<dd><a href="exceptions.html#Exception">exceptions.Exception</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="SessionHijacked-__init__"><strong>__init__</strong></a>(self, failed_vars)</dt></dl>

<dl><dt><a name="SessionHijacked-__str__"><strong>__str__</strong></a>(self)</dt></dl>

<hr>
Methods inherited from <a href="exceptions.html#Exception">exceptions.Exception</a>:<br>
<dl><dt><a name="SessionHijacked-__getitem__"><strong>__getitem__</strong></a>(...)</dt></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="WebSession">class <strong>WebSession</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>The&nbsp;session&nbsp;class&nbsp;which&nbsp;handles&nbsp;storing&nbsp;and&nbsp;retrieving&nbsp;of&nbsp;session&nbsp;data<br>
in&nbsp;a&nbsp;dictionary-like&nbsp;sessiondict&nbsp;object.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="WebSession-__init__"><strong>__init__</strong></a>(self, dictobj<font color="#909090">=None</font>, expireDeactivate<font color="#909090">=0</font>, expireRemove<font color="#909090">=0</font>, crossCheckVars<font color="#909090">=None</font>, maxSessionCount<font color="#909090">=None</font>)</dt><dd><tt>dictobj<br>
&nbsp;&nbsp;&nbsp;&nbsp;has&nbsp;to&nbsp;be&nbsp;a&nbsp;instance&nbsp;of&nbsp;a&nbsp;dictionary-like&nbsp;object<br>
&nbsp;&nbsp;&nbsp;&nbsp;(e.g.&nbsp;derived&nbsp;from&nbsp;UserDict&nbsp;or&nbsp;shelve)<br>
expireDeactivate&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;amount&nbsp;of&nbsp;time&nbsp;(secs)&nbsp;after&nbsp;which&nbsp;a&nbsp;session<br>
&nbsp;&nbsp;&nbsp;&nbsp;expires&nbsp;and&nbsp;a&nbsp;<a href="#SessionExpired">SessionExpired</a>&nbsp;exception&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;raised&nbsp;which&nbsp;contains&nbsp;the&nbsp;session&nbsp;data.<br>
expireRemove<br>
&nbsp;&nbsp;&nbsp;&nbsp;Amount&nbsp;of&nbsp;time&nbsp;(secs)&nbsp;after&nbsp;which&nbsp;a&nbsp;session<br>
&nbsp;&nbsp;&nbsp;&nbsp;expires&nbsp;and&nbsp;the&nbsp;session&nbsp;data&nbsp;is&nbsp;silently&nbsp;deleted.<br>
&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;<a href="#InvalidSessionId">InvalidSessionId</a>&nbsp;exception&nbsp;is&nbsp;raised&nbsp;in&nbsp;this&nbsp;case&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;application&nbsp;trys&nbsp;to&nbsp;access&nbsp;the&nbsp;session&nbsp;ID&nbsp;again.<br>
crossCheckVars<br>
&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;of&nbsp;keys&nbsp;of&nbsp;variables&nbsp;cross-checked&nbsp;for&nbsp;each<br>
&nbsp;&nbsp;&nbsp;&nbsp;retrieval&nbsp;of&nbsp;session&nbsp;data&nbsp;in&nbsp;<a href="#WebSession-retrieveSession">retrieveSession</a>().&nbsp;If&nbsp;None<br>
&nbsp;&nbsp;&nbsp;&nbsp;SESSION_CROSSCHECKVARS&nbsp;is&nbsp;used.<br>
maxSessionCount<br>
&nbsp;&nbsp;&nbsp;&nbsp;Maximum&nbsp;number&nbsp;of&nbsp;valid&nbsp;sessions.&nbsp;This&nbsp;affects<br>
&nbsp;&nbsp;&nbsp;&nbsp;behaviour&nbsp;of&nbsp;<a href="#WebSession-retrieveSession">retrieveSession</a>()&nbsp;which&nbsp;raises.<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;means&nbsp;unlimited&nbsp;number&nbsp;of&nbsp;sessions.</tt></dd></dl>

<dl><dt><a name="WebSession-cleanUp"><strong>cleanUp</strong></a>(self)</dt><dd><tt>Search&nbsp;for&nbsp;expired&nbsp;session&nbsp;entries&nbsp;and&nbsp;delete&nbsp;them.<br>
&nbsp;<br>
Returns&nbsp;integer&nbsp;counter&nbsp;of&nbsp;deleted&nbsp;sessions&nbsp;as&nbsp;result.</tt></dd></dl>

<dl><dt><a name="WebSession-close"><strong>close</strong></a>(self)</dt><dd><tt>Call&nbsp;<a href="#WebSession-close">close</a>()&nbsp;if&nbsp;self.<strong>sessiondict</strong>&nbsp;has&nbsp;.<a href="#WebSession-close">close</a>()&nbsp;method</tt></dd></dl>

<dl><dt><a name="WebSession-deleteSession"><strong>deleteSession</strong></a>(self, session_id)</dt><dd><tt>Delete&nbsp;session_data&nbsp;referenced&nbsp;by&nbsp;session_id.</tt></dd></dl>

<dl><dt><a name="WebSession-newSession"><strong>newSession</strong></a>(self, env<font color="#909090">={}</font>)</dt><dd><tt>Store&nbsp;session&nbsp;data&nbsp;under&nbsp;session&nbsp;id</tt></dd></dl>

<dl><dt><a name="WebSession-retrieveSession"><strong>retrieveSession</strong></a>(self, session_id, env<font color="#909090">={}</font>)</dt><dd><tt>Retrieve&nbsp;session&nbsp;data</tt></dd></dl>

<dl><dt><a name="WebSession-storeSession"><strong>storeSession</strong></a>(self, session_id, session_data)</dt><dd><tt>Store&nbsp;session_data&nbsp;under&nbsp;session_id.</tt></dd></dl>

<dl><dt><a name="WebSession-sync"><strong>sync</strong></a>(self)</dt><dd><tt>Call&nbsp;sync&nbsp;if&nbsp;self.<strong>sessiondict</strong>&nbsp;has&nbsp;.<a href="#WebSession-sync">sync</a>()&nbsp;method</tt></dd></dl>

</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
    
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-ThreadingLock"><strong>ThreadingLock</strong></a> = allocate_lock(...)</dt><dd><tt>allocate_lock()&nbsp;-&gt;&nbsp;lock&nbsp;object<br>
(allocate()&nbsp;is&nbsp;an&nbsp;obsolete&nbsp;synonym)<br>
&nbsp;<br>
Create&nbsp;a&nbsp;new&nbsp;lock&nbsp;object.&nbsp;&nbsp;See&nbsp;LockType.__doc__&nbsp;for&nbsp;information&nbsp;about&nbsp;locks.</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>SESSION_CROSSCHECKVARS</strong> = ('<font color="#c040c0">\n</font>  List of environment variables assumed to be c...gh a network of web proxy siblings.<font color="#c040c0">\n</font>  REMOTE_ADDR', 'REMOTE_HOST', 'REMOTE_IDENT', 'REMOTE_USER', 'FORWARDED_FOR', 'HTTP_X_FORWARDED_FOR', 'HTTP_USER_AGENT', 'HTTP_ACCEPT_CHARSET', 'SSL_SESSION_ID', 'SSL_CLIENT_V_START', 'SSL_CLIENT_V_END', 'SSL_CLIENT_I_DN', 'SSL_CLIENT_IDN', 'SSL_CLIENT_S_DN', 'SSL_CLIENT_SDN', 'SSL_CLIENT_M_SERIAL', 'SSL_CLIENT_CERT_SERIAL')<br>
<strong>SESSION_ID_CHARS</strong> = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'<br>
<strong>__version__</strong> = '0.3.4'</td></tr></table>
</body></html>