Dolda2000 GitWeb
/
wrw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix keyword-parameter handling bug in formparams.
[wrw.git]
/
wrw
/
cookie.py
diff --git
a/wrw/cookie.py
b/wrw/cookie.py
index
2c6f982
..
c6e848f
100644
(file)
--- a/
wrw/cookie.py
+++ b/
wrw/cookie.py
@@
-1,4
+1,5
@@
-import Cookie
+import http.cookies, time
+from . import proto
__all__ = ["cookies", "get", "add"]
__all__ = ["cookies", "get", "add"]
@@
-9,8
+10,11
@@
def addcookies(req):
class cookiedict(object):
def __init__(self, req):
class cookiedict(object):
def __init__(self, req):
- self.bk = Cookie.SimpleCookie(req.ihead.get("Cookie"))
- self.codec = Cookie.SimpleCookie()
+ try:
+ 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):
req.oncommit(addcookies)
def __getitem__(self, name):
@@
-19,14
+23,15
@@
class cookiedict(object):
def __contains__(self, name):
return name in self.bk
def __contains__(self, name):
return name in self.bk
- def get(self, name, default
=
None):
+ def get(self, name, default
=
None):
if name not in self.bk:
return default
return self.bk[name].value
if name not in self.bk:
return default
return self.bk[name].value
- def add(self, name, value,
path = None
):
+ def add(self, name, value,
**kw
):
self.codec[name] = value
self.codec[name] = value
- if path is not None: self.codec[name]["path"] = path
+ for key, value in kw.items():
+ self.codec[name][key] = value
def __setitem__(self, name, value):
self.add(name, value)
def __setitem__(self, name, value):
self.add(name, value)
@@
-34,8
+39,10
@@
class cookiedict(object):
def cookies(req):
return req.item(cookiedict)
def cookies(req):
return req.item(cookiedict)
-def get(req, name, default
=
None):
+def get(req, name, default
=
None):
return cookies(req).get(name, default)
return cookies(req).get(name, default)
-def add(req, name, value, path = None):
- cookies(req).add(name, value, path)
+def add(req, name, value, **kw):
+ cookies(req).add(name, value, **kw)
+
+cdate = proto.httpdate