Mercurial > p > roundup > code
diff roundup/cgi/client.py @ 2046:f913b6beac35
document and make easier the actions-returning-content idiom
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 25 Feb 2004 03:39:53 +0000 |
| parents | d124af927369 |
| children | 78e6a1e4984e |
line wrap: on
line diff
--- a/roundup/cgi/client.py Wed Feb 25 03:24:43 2004 +0000 +++ b/roundup/cgi/client.py Wed Feb 25 03:39:53 2004 +0000 @@ -1,4 +1,4 @@ -# $Id: client.py,v 1.163 2004-02-25 03:24:43 richard Exp $ +# $Id: client.py,v 1.164 2004-02-25 03:39:53 richard Exp $ """WWW request handler (also used in the stand-alone server). """ @@ -249,24 +249,18 @@ Note: also cleans One Time Keys, and other "session" based stuff. """ sessions = self.db.sessions - last_clean = sessions.get('last_clean', 'last_use') or 0 + last_clean = self.db.sessions.get('last_clean', 'last_use') or 0 + # time to clean? week = 60*60*24*7 hour = 60*60 now = time.time() - if now - last_clean > hour: - # remove aged sessions - for sessid in sessions.list(): - interval = now - sessions.get(sessid, 'last_use') - if interval > week: - sessions.destroy(sessid) - # remove aged otks - otks = self.db.otks - for sessid in otks.list(): - interval = now - otks.get(sessid, '__time') - if interval > week: - otks.destroy(sessid) - sessions.set('last_clean', last_use=time.time()) + if now - last_clean < hour: + return + + self.db.sessions.clean(now) + self.db.otks.clean(now) + self.db.sessions.set('last_clean', last_use=time.time()) def determine_user(self): ''' Determine who the user is @@ -296,7 +290,7 @@ # get the user from the session try: # update the lifetime datestamp - sessions.set(self.session, last_use=time.time()) + sessions.updateTimestamp(self.session) sessions.commit() user = sessions.get(self.session, 'user') except KeyError: @@ -575,6 +569,11 @@ self.header() self.request.wfile.write(content) + def setHeader(self, header, value): + '''Override a header to be returned to the user's browser. + ''' + self.additional_headers[header] = value + def header(self, headers=None, response=None): '''Put up the appropriate header. '''
