super cookiejar_from_dict powwerrrs

This commit is contained in:
Kenneth Reitz
2011-08-17 02:01:13 -04:00
parent ec33ce9d29
commit f7024a6000
+26 -10
View File
@@ -9,7 +9,6 @@ that are also useful for external consumption.
"""
import Cookie
import cookielib
@@ -21,28 +20,45 @@ def dict_from_cookiejar(cookiejar):
for _, cookies in cookiejar._cookies.items():
for _, cookies in cookies.items():
for cookie in cookies.values():
# print cookie
cookie_dict[cookie.name] = cookie.value
return cookie_dict
def cookiejar_from_dict(cookie_dict, domain=None):
def cookiejar_from_dict(cookie_dict):
"""Returns a CookieJar from a key/value dictionary."""
# return cookiejar if one was passed in
if isinstance(cookie_dict, cookielib.CookieJar):
return cookie_dict
# create cookiejar
cj = cookielib.CookieJar()
for k, v in cookie_dict.items():
# create cookie
ck = Cookie.SimpleCookie()
ck.name = v
ck.expires = 0
ck.path = '/'
ck.domain = domain
cookie = cookielib.Cookie(
version=0,
name=k,
value=v,
port=None,
port_specified=False,
domain='',
domain_specified=False,
domain_initial_dot=False,
path='/',
path_specified=True,
secure=False,
expires=None,
discard=True,
comment=None,
comment_url=None,
rest={'HttpOnly': None},
rfc2109=False
)
# add cookie to cookiejar
cj.set_cookie(ck)
cj.set_cookie(cookie)
return cj