# HG changeset patch # User paulb # Date 1181692287 0 # Node ID 6f43112e81d672663e3a1e658e764577561ea576 # Parent 4764cf58245cbb9bd5874ad483eed812bb1a53dd [project @ 2007-06-12 23:51:27 by paulb] Changed the SessionStore to use shelves within directories, as manipulated by the DirectoryRepository. diff -r 4764cf58245c -r 6f43112e81d6 WebStack/Helpers/Session.py --- a/WebStack/Helpers/Session.py Tue Jun 12 23:50:47 2007 +0000 +++ b/WebStack/Helpers/Session.py Tue Jun 12 23:51:27 2007 +0000 @@ -23,6 +23,7 @@ import shelve import random import sys +import os from WebStack.Repositories.Directory import DirectoryRepository class SessionStore: @@ -85,6 +86,7 @@ "Expire the session with the given 'session_id'." + self.repository.lock(session_id) del self.repository[session_id] def get_session(self, create): @@ -126,7 +128,9 @@ except KeyError: return None - self.store = shelve.open(store_filename) + # NOTE: Using inside knowledge about the repository structure. + + self.store = shelve.open(os.path.join(store_filename, "data")) return Wrapper(self.store) def _get_session_identifier(self):