From: daftshady Date: Tue, 5 Nov 2013 09:00:23 +0000 (+0900) Subject: update 'merge_cookies' not to create new instance. X-Git-Tag: v2.1.0~11^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5fcaf45c33c35aa36794bddf97da82545ada5fff;p=services%2Fpython-requests.git update 'merge_cookies' not to create new instance. --- diff --git a/requests/cookies.py b/requests/cookies.py index 20d24a3..8ff8b02 100644 --- a/requests/cookies.py +++ b/requests/cookies.py @@ -432,13 +432,17 @@ def merge_cookies(cookiejar, cookies): if not isinstance(cookiejar, cookielib.CookieJar): raise ValueError('You can only merge into CookieJar') - merged_cookie = RequestsCookieJar() - merged_cookie.update(cookiejar) - if isinstance(cookies, dict): - merged_cookie = cookiejar_from_dict( - cookies, cookiejar=merged_cookie, overwrite=False) + cookiejar = cookiejar_from_dict( + cookies, cookiejar=cookiejar, overwrite=False) elif isinstance(cookies, cookielib.CookieJar): - merged_cookie.update(cookies) + try: + if hasattr(cookiejar, 'update'): + cookiejar.update(cookies) + else: + raise CookieJarError + except CookieJarError: + for cookie_in_jar in cookies: + cookiejar.set_cookie(cookie_in_jar) - return merged_cookie + return cookiejar diff --git a/test_requests.py b/test_requests.py index 0f076ff..539de76 100755 --- a/test_requests.py +++ b/test_requests.py @@ -186,8 +186,7 @@ class RequestsTestCase(unittest.TestCase): # Make sure the cookie was sent assert r.json()['cookies']['foo'] == 'bar' # Make sure the session cj is still the custom one - assert isinstance(s.cookies, cookielib.CookieJar) - assert s.cookies['foo'] == 'bar' + assert s.cookies is cj def test_param_cookiejar_works(self): cj = cookielib.CookieJar()