from web.wsgi import * class simpleApp(base.BaseApplication): def printPage(self, title, url, link, url2, link2, data): self.output("""

%s

%s

%s

%s

"""%(title, url, link, url2, link2, data) ) def start(self): # Write a simple application store = self.environ['web.session'].store('testApp') if not self.environ['web.session'].created: if self.environ['web.cgi'].has_key('destroy') and self.environ['web.cgi']['destroy'].value == 'True': self.environ['web.session'].destroy(ignoreWarning=True, sendCookieHeaders=False) self.headers.append(self.environ['web.session'].response_headers[-1]) self.printPage( 'Session Destroyed', self.environ['SCRIPT_NAME'], 'Start Again', '','','' ) else: self.environ['web.session'].setExpire(self.environ['web.session'].expireTime+5) self.environ['web.session'].setCookie() self.headers.append(self.environ['web.session'].response_headers[-1]) data = [] data.append('SessionID: '+self.environ['web.session'].sessionID) data.append('Store Keys: '+str(store.keys())) data.append('Store App: '+store.app) data.append('Variable1: '+str(store['Variable1'])) data.append('ExpireTime: '+str(self.environ['web.session'].expireTime)) self.printPage( 'Welcome back', self.environ['SCRIPT_NAME'], 'Visit Again', self.environ['SCRIPT_NAME']+'?destroy=True', 'Destroy Session', '

Every time you visit this page the expiry time increases 5 seconds

'+ '

'.join(data) ) else: store['Variable1'] = 'Python Rules!' self.printPage( 'New Session Started', self.environ['SCRIPT_NAME'], 'Visit Again', '', '', "Set variable1 to 'Python Rules!'" ) # Save changes self.environ['web.database.connection'].commit() application = error.Error( database.Database( session.Session( cgi.CGI( simpleApp(), ), expire = 10, autoCreate = 1, driver = 'database', ), adapter = 'snakesql', database = 'wsgi-session', autoCreate = 1 ), )