From: Fredrik Tolf Date: Sun, 5 Aug 2012 05:44:44 +0000 (+0200) Subject: Merge branch 'master' into python3 X-Git-Url: http://dolda2000.com/gitweb/?p=wrw.git;a=commitdiff_plain;h=920b69c320cb0dc83eec0c8b4397c7a5b80b7d5b;hp=-c Merge branch 'master' into python3 Conflicts: wrw/cookie.py --- 920b69c320cb0dc83eec0c8b4397c7a5b80b7d5b diff --combined wrw/cookie.py index 3a3c916,4f5071a..b66e293 --- a/wrw/cookie.py +++ b/wrw/cookie.py @@@ -1,4 -1,5 +1,5 @@@ - import http.cookies -import Cookie, time -import proto ++import http.cookies, time ++from . import proto __all__ = ["cookies", "get", "add"] @@@ -10,10 -11,10 +11,10 @@@ def addcookies(req) class cookiedict(object): def __init__(self, req): try: - self.bk = Cookie.SimpleCookie(req.ihead.get("Cookie")) - except Cookie.CookieError: - self.bk = Cookie.SimpleCookie() - self.codec = Cookie.SimpleCookie() + self.bk = http.cookies.SimpleCookie(req.ihead.get("Cookie")) + except http.cookies.CookieError: + self.bk = http.cookies.SimpleCookie() + self.codec = http.cookies.SimpleCookie() req.oncommit(addcookies) def __getitem__(self, name): @@@ -29,7 -30,7 +30,7 @@@ def add(self, name, value, **kw): self.codec[name] = value - for key, value in kw.iteritems(): + for key, value in kw.items(): self.codec[name][key] = value def __setitem__(self, name, value): @@@ -43,3 -44,5 +44,5 @@@ def get(req, name, default = None) def add(req, name, value, **kw): cookies(req).add(name, value, **kw) + + cdate = proto.httpdate diff --combined wrw/req.py index 82a1f84,861454b..0348c81 --- a/wrw/req.py +++ b/wrw/req.py @@@ -17,7 -17,7 +17,7 @@@ class headdict(object) del self.dict[key.lower()] def __iter__(self): - return iter((list[0] for list in self.dict.itervalues())) + return iter((list[0] for list in self.dict.values())) def get(self, key, default = ""): if key.lower() in self.dict: @@@ -70,6 -70,7 +70,7 @@@ class origrequest(request) self.query = env["QUERY_STRING"] self.remoteaddr = env["REMOTE_ADDR"] self.serverport = env["SERVER_PORT"] + self.servername = env["SERVER_NAME"] self.https = "HTTPS" in env self.ihead = headdict() self.ohead = headdict() diff --combined wrw/session.py index d9907cc,43b9087..0a17c6d --- a/wrw/session.py +++ b/wrw/session.py @@@ -1,5 -1,5 +1,5 @@@ import threading, time, pickle, random, os -import cookie, env +from . import cookie, env __all__ = ["db", "get"] @@@ -11,7 -11,7 +11,7 @@@ def hexencode(str) def gennonce(length): nonce = "" - for i in xrange(length): + for i in range(length): nonce += chr(random.randint(0, 255)) return nonce @@@ -86,7 -86,7 +86,7 @@@ class db(object) def clean(self): now = int(time.time()) with self.lock: - clist = self.live.keys() + clist = list(self.live.keys()) for sessid in clist: with self.lock: try: @@@ -168,7 -168,9 +168,9 @@@ return session(threading.RLock()) def mkcookie(self, req, sess): - cookie.add(req, self.cookiename, sess.id, path=self.path) + 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()) @@@ -202,7 -204,7 +204,7 @@@ data = self.backdb[sessid] try: return pickle.loads(data) - except Exception, e: + except: raise KeyError() def freeze(self, sess):