|
1 | | -# $Id: client.py,v 1.163 2004-02-25 03:24:43 richard Exp $ |
| 1 | +# $Id: client.py,v 1.164 2004-02-25 03:39:53 richard Exp $ |
2 | 2 |
|
3 | 3 | """WWW request handler (also used in the stand-alone server). |
4 | 4 | """ |
@@ -249,24 +249,18 @@ def clean_sessions(self): |
249 | 249 | Note: also cleans One Time Keys, and other "session" based stuff. |
250 | 250 | """ |
251 | 251 | sessions = self.db.sessions |
252 | | - last_clean = sessions.get('last_clean', 'last_use') or 0 |
| 252 | + last_clean = self.db.sessions.get('last_clean', 'last_use') or 0 |
253 | 253 |
|
| 254 | + # time to clean? |
254 | 255 | week = 60*60*24*7 |
255 | 256 | hour = 60*60 |
256 | 257 | now = time.time() |
257 | | - if now - last_clean > hour: |
258 | | - # remove aged sessions |
259 | | - for sessid in sessions.list(): |
260 | | - interval = now - sessions.get(sessid, 'last_use') |
261 | | - if interval > week: |
262 | | - sessions.destroy(sessid) |
263 | | - # remove aged otks |
264 | | - otks = self.db.otks |
265 | | - for sessid in otks.list(): |
266 | | - interval = now - otks.get(sessid, '__time') |
267 | | - if interval > week: |
268 | | - otks.destroy(sessid) |
269 | | - sessions.set('last_clean', last_use=time.time()) |
| 258 | + if now - last_clean < hour: |
| 259 | + return |
| 260 | + |
| 261 | + self.db.sessions.clean(now) |
| 262 | + self.db.otks.clean(now) |
| 263 | + self.db.sessions.set('last_clean', last_use=time.time()) |
270 | 264 |
|
271 | 265 | def determine_user(self): |
272 | 266 | ''' Determine who the user is |
@@ -296,7 +290,7 @@ def determine_user(self): |
296 | 290 | # get the user from the session |
297 | 291 | try: |
298 | 292 | # update the lifetime datestamp |
299 | | - sessions.set(self.session, last_use=time.time()) |
| 293 | + sessions.updateTimestamp(self.session) |
300 | 294 | sessions.commit() |
301 | 295 | user = sessions.get(self.session, 'user') |
302 | 296 | except KeyError: |
@@ -575,6 +569,11 @@ def write(self, content): |
575 | 569 | self.header() |
576 | 570 | self.request.wfile.write(content) |
577 | 571 |
|
| 572 | + def setHeader(self, header, value): |
| 573 | + '''Override a header to be returned to the user's browser. |
| 574 | + ''' |
| 575 | + self.additional_headers[header] = value |
| 576 | + |
578 | 577 | def header(self, headers=None, response=None): |
579 | 578 | '''Put up the appropriate header. |
580 | 579 | ''' |
|
0 commit comments