Base class for persistent session stores.
Persistent Session storage API for session3’s SessionManager.
Subclass this class & provide implementations of load_session,
save_session, and delete_session, and voila, persistent sessions!
class SessionStore:
is_multiprocess_safe = False
is_thread_safe = False def load_session(self, id, default=None):
raise NotImplementedError()Save the session in the store.
def save_session(self, session):
raise NotImplementedError()Delete the session in the store.
def delete_session(self, session):
raise NotImplementedError()Return true if the session exists in the store, else false.
def has_session(self, id):
return self.load_session(id, None)Return an iterable of (id, session) for all sessions in the store.
This method is never called by the session manager; it’s for admin applications that want to browse the sessions.
def iter_sessions(self):
raise NotImplementedError()Initialize the session store; e.g., create required database tables. If a previous store exists, overwrite it or raise an error. The default implmenetation does nothing, meaning no setup is necessary.
This method is never called by the session manager; it’s for your application setup program.
def setup(self):
passDelete all sessions that have not been modified for N minutes. The default implementation does nothing, meaning the store cannot delete old sessions.
This method is never called by the session manager. It’s for your application maintenance program; e.g., a daily cron job.
def delete_old_sessions(self, minutes):
pass