diff options
author | Georg Brandl <georg@python.org> | 2010-08-01 18:56:30 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-08-01 18:56:30 (GMT) |
commit | cea7e55998d9e3c24c74fa55e59b252ac592d95e (patch) | |
tree | b4b6ea88f89ad3161fffa8aa98e4f9ece4f42936 /Lib/http | |
parent | afef78f832d0f2eab287f4ce889baf4d68a4fc63 (diff) | |
download | cpython-cea7e55998d9e3c24c74fa55e59b252ac592d95e.zip cpython-cea7e55998d9e3c24c74fa55e59b252ac592d95e.tar.gz cpython-cea7e55998d9e3c24c74fa55e59b252ac592d95e.tar.bz2 |
Merged revisions 83393,83396,83398,83404-83405,83408 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k
........
r83393 | georg.brandl | 2010-08-01 10:35:29 +0200 (So, 01 Aug 2010) | 1 line
#1690103: fix initial namespace for code run with trace.main().
........
r83396 | georg.brandl | 2010-08-01 10:52:32 +0200 (So, 01 Aug 2010) | 1 line
#4810: document "--" option separator in timeit help.
........
r83398 | georg.brandl | 2010-08-01 11:06:34 +0200 (So, 01 Aug 2010) | 1 line
#8826: the "expires" attribute value is a date string with spaces, but apparently not all user-agents put it in quotes. Handle that as a special case.
........
r83404 | georg.brandl | 2010-08-01 16:25:22 +0200 (So, 01 Aug 2010) | 1 line
#6439: fix argument type for PySys_SetArgvEx() and Py_SetProgramName() in Demo/embed code.
........
r83405 | georg.brandl | 2010-08-01 16:38:17 +0200 (So, 01 Aug 2010) | 1 line
#4943: do not try to include drive letters (and colons) when looking for a probably module name.
........
r83408 | georg.brandl | 2010-08-01 17:30:56 +0200 (So, 01 Aug 2010) | 1 line
#5551: symbolic links never can be mount points. Fixes the fix for #1713.
........
Diffstat (limited to 'Lib/http')
-rw-r--r-- | Lib/http/cookies.py | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/Lib/http/cookies.py b/Lib/http/cookies.py index 9cb80b9..e584396 100644 --- a/Lib/http/cookies.py +++ b/Lib/http/cookies.py @@ -439,19 +439,21 @@ class Morsel(dict): # _LegalCharsPatt = r"[\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=]" -_CookiePattern = re.compile( - r"(?x)" # This is a Verbose pattern - r"(?P<key>" # Start of group 'key' - ""+ _LegalCharsPatt +"+?" # Any word of at least one letter, nongreedy - r")" # End of group 'key' - r"\s*=\s*" # Equal Sign - r"(?P<val>" # Start of group 'val' - r'"(?:[^\\"]|\\.)*"' # Any doublequoted string - r"|" # or - ""+ _LegalCharsPatt +"*" # Any word or empty string - r")" # End of group 'val' - r"\s*;?" # Probably ending in a semi-colon - , re.ASCII) # May be removed if safe. +_CookiePattern = re.compile(r""" + (?x) # This is a verbose pattern + (?P<key> # Start of group 'key' + """ + _LegalCharsPatt + r"""+? # Any word of at least one letter + ) # End of group 'key' + \s*=\s* # Equal Sign + (?P<val> # Start of group 'val' + "(?:[^\\"]|\\.)*" # Any doublequoted string + | # or + \w{3},\s[\w\d-]{9,11}\s[\d:]{8}\sGMT # Special case for "expires" attr + | # or + """ + _LegalCharsPatt + r"""* # Any word or empty string + ) # End of group 'val' + \s*;? # Probably ending in a semi-colon + """, re.ASCII) # May be removed if safe. # At long last, here is the cookie class. |