Dolda2000 GitWeb
/
wrw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed superfluous super() arguments.
[wrw.git]
/
wrw
/
session.py
diff --git
a/wrw/session.py
b/wrw/session.py
index
90d460b
..
e7d8581
100644
(file)
--- a/
wrw/session.py
+++ b/
wrw/session.py
@@
-16,7
+16,7
@@
def gennonce(length):
return nonce
class session(object):
return nonce
class session(object):
- def __init__(self, lock, expire
=
86400 * 7):
+ def __init__(self, lock, expire
=
86400 * 7):
self.id = hexencode(gennonce(16))
self.dict = {}
self.lock = lock
self.id = hexencode(gennonce(16))
self.dict = {}
self.lock = lock
@@
-39,7
+39,7
@@
class session(object):
def __getitem__(self, key):
return self.dict[key]
def __getitem__(self, key):
return self.dict[key]
- def get(self, key, default
=
None):
+ def get(self, key, default
=
None):
return self.dict.get(key, default)
def __setitem__(self, key, value):
return self.dict.get(key, default)
def __setitem__(self, key, value):
@@
-74,7
+74,7
@@
class session(object):
return "<session %s>" % self.id
class db(object):
return "<session %s>" % self.id
class db(object):
- def __init__(self, backdb
= None, cookiename = "wrwsess", path =
"/"):
+ def __init__(self, backdb
=None, cookiename="wrwsess", path=
"/"):
self.live = {}
self.cookiename = cookiename
self.path = path
self.live = {}
self.cookiename = cookiename
self.path = path
@@
-164,6
+164,14
@@
class db(object):
self.cthread.setDaemon(True)
self.cthread.start()
self.cthread.setDaemon(True)
self.cthread.start()
+ def mksession(self, req):
+ return session(threading.RLock())
+
+ def mkcookie(self, req, sess):
+ cookie.add(req, self.cookiename, sess.id,
+ path=self.path,
+ expires=cookie.cdate(time.time() + sess.expire))
+
def fetch(self, req):
now = int(time.time())
sessid = cookie.get(req, self.cookiename)
def fetch(self, req):
now = int(time.time())
sessid = cookie.get(req, self.cookiename)
@@
-173,13
+181,13
@@
class db(object):
raise KeyError()
sess = self._fetch(sessid)
except KeyError:
raise KeyError()
sess = self._fetch(sessid)
except KeyError:
- sess = se
ssion(threading.RLock()
)
+ sess = se
lf.mksession(req
)
new = True
def ckfreeze(req):
if sess.dirty():
if new:
new = True
def ckfreeze(req):
if sess.dirty():
if new:
-
cookie.add(req, self.cookiename, sess.id, self.path
)
+
self.mkcookie(req, sess
)
with self.lock:
self.live[sess.id] = [sess.lock, sess]
try:
with self.lock:
self.live[sess.id] = [sess.lock, sess]
try:
@@
-227,7
+235,7
@@
class dirback(object):
with open(os.path.join(self.path, key), "w") as out:
out.write(value)
with open(os.path.join(self.path, key), "w") as out:
out.write(value)
-default = env.var(db(backdb
=
dirback(os.path.join("/tmp", "wrwsess-" + str(os.getuid())))))
+default = env.var(db(backdb
=
dirback(os.path.join("/tmp", "wrwsess-" + str(os.getuid())))))
def get(req):
return default.val.get(req)
def get(req):
return default.val.get(req)