3 __all__ = ["cookies", "get", "add"]
8 req.ohead.add("Set-Cookie", ck.codec[nm].OutputString())
10 class cookiedict(object):
11 def __init__(self, req):
13 self.bk = Cookie.SimpleCookie(req.ihead.get("Cookie"))
14 except Cookie.CookieError:
15 self.bk = Cookie.SimpleCookie()
16 self.codec = Cookie.SimpleCookie()
17 req.oncommit(addcookies)
19 def __getitem__(self, name):
20 return self.bk[name].value
22 def __contains__(self, name):
23 return name in self.bk
25 def get(self, name, default = None):
26 if name not in self.bk:
28 return self.bk[name].value
30 def add(self, name, value, **kw):
31 self.codec[name] = value
32 for key, value in kw.iteritems():
33 self.codec[name][key] = value
35 def __setitem__(self, name, value):
39 return req.item(cookiedict)
41 def get(req, name, default = None):
42 return cookies(req).get(name, default)
44 def add(req, name, value, **kw):
45 cookies(req).add(name, value, **kw)