X-Git-Url: http://dolda2000.com/gitweb/?p=wrw.git;a=blobdiff_plain;f=wrw%2Fcookie.py;h=c6e848f325ba2ee48d307f7029478b7c82365af5;hp=37e87081b3b47fb9804273dc99eed7319a4f309d;hb=HEAD;hpb=8204ad1dbc40518b46426f4c34f3d71736dc0e48 diff --git a/wrw/cookie.py b/wrw/cookie.py index 37e8708..c6e848f 100644 --- 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"] @@ -10,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): @@ -22,14 +23,15 @@ class cookiedict(object): 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 - def add(self, name, value, path = None): + def add(self, name, value, **kw): 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) @@ -37,8 +39,10 @@ class cookiedict(object): 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) -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