Commit 2659429d authored by Brian Rosner's avatar Brian Rosner
Browse files

Fixed edge case that breaks the test suite on versions of Python > 2.6.4

Before http://svn.python.org/view?view=rev&revision=74647 it was possible to
pass a SimpleCookie to load, but this no longer works due to a different bug
in Python the said revision fixed.

My guess is a SimpleCookie was never intended to be passed through load which
is perfectly reasonable.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@11820 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 85def095
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
import os
import re
from Cookie import SimpleCookie, CookieError
from Cookie import BaseCookie, SimpleCookie, CookieError
from pprint import pformat
from urllib import urlencode
from urlparse import urljoin
@@ -251,13 +251,15 @@ class QueryDict(MultiValueDict):
def parse_cookie(cookie):
    if cookie == '':
        return {}
    if not isinstance(cookie, BaseCookie):
        try:
            c = SimpleCookie()
            c.load(cookie)
        except CookieError:
            # Invalid cookie
            return {}

    else:
        c = cookie
    cookiedict = {}
    for key in c.keys():
        cookiedict[key] = c.get(key).value