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
This commit is contained in:
parent
85def09554
commit
2659429df4
|
@ -1,6 +1,6 @@
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from Cookie import SimpleCookie, CookieError
|
from Cookie import BaseCookie, SimpleCookie, CookieError
|
||||||
from pprint import pformat
|
from pprint import pformat
|
||||||
from urllib import urlencode
|
from urllib import urlencode
|
||||||
from urlparse import urljoin
|
from urlparse import urljoin
|
||||||
|
@ -251,13 +251,15 @@ class QueryDict(MultiValueDict):
|
||||||
def parse_cookie(cookie):
|
def parse_cookie(cookie):
|
||||||
if cookie == '':
|
if cookie == '':
|
||||||
return {}
|
return {}
|
||||||
|
if not isinstance(cookie, BaseCookie):
|
||||||
try:
|
try:
|
||||||
c = SimpleCookie()
|
c = SimpleCookie()
|
||||||
c.load(cookie)
|
c.load(cookie)
|
||||||
except CookieError:
|
except CookieError:
|
||||||
# Invalid cookie
|
# Invalid cookie
|
||||||
return {}
|
return {}
|
||||||
|
else:
|
||||||
|
c = cookie
|
||||||
cookiedict = {}
|
cookiedict = {}
|
||||||
for key in c.keys():
|
for key in c.keys():
|
||||||
cookiedict[key] = c.get(key).value
|
cookiedict[key] = c.get(key).value
|
||||||
|
|
Loading…
Reference in New Issue