mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Refs #23919 -- Removed Python 2 version check in django.http.cookie.
This commit is contained in:
		| @@ -1,28 +1,20 @@ | ||||
| import sys | ||||
| from http import cookies | ||||
|  | ||||
| # Cookie pickling bug is fixed in Python 2.7.9 and Python 3.4.3+ | ||||
| # Cookie pickling bug is fixed in Python 3.4.3+ | ||||
| # http://bugs.python.org/issue22775 | ||||
| cookie_pickles_properly = ( | ||||
|     (sys.version_info[:2] == (2, 7) and sys.version_info >= (2, 7, 9)) or | ||||
|     sys.version_info >= (3, 4, 3) | ||||
| ) | ||||
|  | ||||
| if cookie_pickles_properly: | ||||
| if sys.version_info >= (3, 4, 3): | ||||
|     SimpleCookie = cookies.SimpleCookie | ||||
| else: | ||||
|     Morsel = cookies.Morsel | ||||
|  | ||||
|     class SimpleCookie(cookies.SimpleCookie): | ||||
|         if not cookie_pickles_properly: | ||||
|             def __setitem__(self, key, value): | ||||
|                 # Apply the fix from http://bugs.python.org/issue22775 where | ||||
|                 # it's not fixed in Python itself | ||||
|                 if isinstance(value, Morsel): | ||||
|                     # allow assignment of constructed Morsels (e.g. for pickling) | ||||
|                     dict.__setitem__(self, key, value) | ||||
|                 else: | ||||
|                     super(SimpleCookie, self).__setitem__(key, value) | ||||
|         def __setitem__(self, key, value): | ||||
|             if isinstance(value, Morsel): | ||||
|                 # allow assignment of constructed Morsels (e.g. for pickling) | ||||
|                 dict.__setitem__(self, key, value) | ||||
|             else: | ||||
|                 super(SimpleCookie, self).__setitem__(key, value) | ||||
|  | ||||
|  | ||||
| def parse_cookie(cookie): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user