import datetime from turbogears.database import session from transifex.model import Session, session_table class SQLAlchemyStorage: def __init__(self): pass def load(self, id): s = Session.query.get(id) if not s: return None return (s.data, s.expiration_time) def delete(self, id=None): if id is None: id = cherrypy.session.id s = Session.query.get(id) session.delete(s) session.flush() def save(self, id, data, expiration_time): s = Session.query.get(id) if not s: s = Session() s.id = id s.data = data s.expiration_time = expiration_time session.flush() def acquire_lock(self): pass def release_lock(self): pass def clean_up(self, sess): result = session_table.delete( session_table.c.expiration_time.__lt__(datetime.datetime.now()) ).execute()