1 from . import req, dispatch, session
3 def wsgiwrap(callable):
4 def wrapper(env, startreq):
5 return dispatch.handle(req.origrequest(env), startreq, callable)
8 def persession(data = None):
11 sess = session.get(req)
12 if callable not in sess:
14 sess[callable] = callable()
18 sess[callable] = callable(data)
19 return sess[callable].handle(req)
23 class sessiondata(object):
26 sess = cls.sessdb().get(req)
32 ret._is_dirty = [False]
38 return session.default
41 self._is_dirty[:] = [False]
44 return self._is_dirty[0]
46 def __setattr__(self, name, value):
47 if hasattr(self, "_is_dirty"):
48 self._is_dirty[:] = [True]
49 super().__setattr__(name, value)
51 def __delattr__(self, name):
52 super().__delattr__(name)
53 self._is_dirty[:] = [True]