X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=ipsilon%2Futil%2Fsessions.py;fp=ipsilon%2Futil%2Fsessions.py;h=5a9854b02d44373278d170afb805239ca9bd188b;hp=86113a1f2b1a4d0a3091927c3e7167d9b60618ad;hb=24fa1f2acd9cb84342064ec59b311968353fd0ae;hpb=2b17119bb97eba45030d18f590624c2b2a9f257e diff --git a/ipsilon/util/sessions.py b/ipsilon/util/sessions.py index 86113a1..5a9854b 100644 --- a/ipsilon/util/sessions.py +++ b/ipsilon/util/sessions.py @@ -4,6 +4,7 @@ import base64 from cherrypy.lib.sessions import Session from ipsilon.util.data import Store, SqlQuery import threading +import datetime try: import cPickle as pickle except ImportError: @@ -36,6 +37,14 @@ class SessionStore(Store): else: raise NotImplementedError() + def _cleanup(self): + # pylint: disable=protected-access + table = SqlQuery(self._db, 'sessions', SESSION_TABLE)._table + # pylint: disable=no-value-for-parameter + d = table.delete().where(table.c.expiration_time + <= datetime.datetime.now()) + return d.execute().rowcount + class SqlSession(Session):