On Sat, Feb 28, 2004 at 08:09:17PM -0800, Titus Brown wrote: > Attached; it does two things: > > * Session.__init__ now takes as arguments (id, remote_addr, create_time=None) > and sets creation time to time() by default; > > * SessionManager.new_session instantiates session_class with remote_addr > directly: > > session = self.session_class(id, request.get_environ('REMOTE_ADDR')) After further though, I would prefer that the signature of Session not be changed. It's possible that some application sessions are not interested in 'remote_address' or they want to use some other data in the request when creating sessions (e.g. cookies). Instead, I propose that the '__remote_address', '__creation_time' and '__access_time' be renamed to '_remote_address', '_creation_time', and '_access_time'. For your case, you could make your session class a new-style class: class MySession(object, Session): [...] and to restore it from the DB you can use __new__: s = MySession.__new__() s.id = ... ... Does that work for you? Neil