Back to index

python-weblib  1.3.9
test-session.py
Go to the documentation of this file.
00001 #!/usr/bin/python
00002 
00003 import sys, os, string, types, dbm, gdbm, shelve, cgi
00004 
00005 # Where to find own modules
00006 sys.path.append('/home/michael/Proj/python/pyweblib')
00007 
00008 import pyweblib.session
00009 
00010 sessiondict = shelve.open('/tmp/test-pyweblib.session','c')
00011 
00012 webSession = pyweblib.session.WebSession(
00013   sessiondict,expireDeactivate=30,expireRemove=60
00014 )
00015 
00016 form = cgi.FieldStorage()
00017 
00018 if form.has_key('sessionid'):
00019   sessionid = form['sessionid'].value
00020   try:
00021     oldtext = webSession.retrieveSession(sessionid)
00022   except pyweblib.session.SessionException,e:
00023     sessionid = webSession.newSession()
00024     oldtext = '*** %s' % (str(e))
00025 else:
00026   sessionid = webSession.newSession()
00027   oldtext = '*** Created new session.'
00028 
00029 if form.has_key('text'):
00030   newtext = form['text'].value
00031   webSession.storeSession(sessionid,newtext)
00032 else:
00033   newtext = ''
00034 
00035 # Anzeige der eingegebenen Daten
00036 print """Content-type: text/html
00037 Pragma: no-cache
00038 
00039 <html>
00040 
00041   <title>
00042   </title>
00043 
00044   <body>
00045 
00046     <p>
00047       sessionid = %(sessionid)s
00048     </p>
00049     <p>
00050       Old text restored from session cache:
00051     </p>
00052     <pre>
00053       %(oldtext)s
00054     </pre>
00055     <p>
00056       New text stored currently stored into session cache:
00057     </p>
00058     <pre>
00059       %(newtext)s
00060     </pre>
00061     <form action="test-session.py" method=get>
00062       <input type="hidden" name="sessionid" value="%(sessionid)s">
00063       <textarea name="text" cols=60 rows=10></textarea>
00064       <input type="submit" value="send">
00065     </form>
00066 
00067   </body>
00068 
00069 </html>
00070 """ % vars()
00071 
00072 
00073 sessiondict.close()
00074 
00075 sys.exit(0)