[Web-SIG] and now for something completely different!
Ksenia Marasanova
ksenia at ksenia.nl
Fri Aug 12 23:42:52 CEST 2005
Op 12-aug-2005, om 23:08 heeft mso at oz.net het volgende geschreven:
> If a Quixote application were installed in Paste and used a third-
> party
> session manager, the session object would have to:
> - allow arbitary attributes.
> - default .user to None.
> - have a .set_user(user) method that merely sets .user.
> Otherwise people would have to modify their applications.
Actually I migrated lately few old applications from Quixote1
"native" sessions to Flup Session middleware :)
Except from arbitrary attributes that I don't have, this is it:
from flup import session
from quixote import publish
def _get_user(self):
if hasattr(self._user):
if self._user is not None:
# some app-specific code to get user from db
return user
def _set_user(self, user):
# user is SQLObject instance, we can only store ID
if user is None:
self._user = None
else:
self._user = user.id
def set_user(self, user):
self.user = user
session.Session.user = property(_get_user, _set_user)
session.Session.set_user = set_user
class MyPublisher(publish.Publisher):
def start_request(self, request):
request.session = request.environ
['com.saddi.service.session'].session
publish.Publisher.start_request(self, request)
More information about the Web-SIG
mailing list