summary refs log tree commit diff
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2021-04-04 19:49:24 +0100
committerRemita Amine <remitamine@gmail.com>2021-04-04 19:49:24 +0100
commit162bf9e10a4e6a08f5ed156a68054ef9b4d2b60e (patch)
tree2d7d9f6010fae8c10ec816db6f33ea371a50374c
parent6beb1ac65b03415764c487fd139298f22e1e0313 (diff)
downloadyoutube-dl-162bf9e10a4e6a08f5ed156a68054ef9b4d2b60e.tar.gz
youtube-dl-162bf9e10a4e6a08f5ed156a68054ef9b4d2b60e.tar.xz
youtube-dl-162bf9e10a4e6a08f5ed156a68054ef9b4d2b60e.zip
[compat] add compat_SimpleCookie
-rw-r--r--youtube_dl/compat.py9
-rw-r--r--youtube_dl/extractor/common.py9
2 files changed, 12 insertions, 6 deletions
diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py
index 6c3d49d45..8bbebebcf 100644
--- a/youtube_dl/compat.py
+++ b/youtube_dl/compat.py
@@ -73,6 +73,15 @@ try:
 except ImportError:  # Python 2
     import Cookie as compat_cookies
 
+if sys.version_info[0] == 2:
+    class compat_SimpleCookie(compat_cookies.SimpleCookie):
+        def load(self, rawdata):
+            if isinstance(rawdata, unicode):
+                rawdata = str(rawdata)
+            return super(compat_SimpleCookie, self).load(rawdata)
+else:
+    compat_SimpleCookie = compat_cookies.SimpleCookie
+
 try:
     import html.entities as compat_html_entities
 except ImportError:  # Python 2
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py
index 78ff5b6d0..af289d705 100644
--- a/youtube_dl/extractor/common.py
+++ b/youtube_dl/extractor/common.py
@@ -17,13 +17,13 @@ import math
 
 from ..compat import (
     compat_cookiejar_Cookie,
-    compat_cookies,
     compat_etree_Element,
     compat_etree_fromstring,
     compat_getpass,
     compat_integer_types,
     compat_http_client,
     compat_os_name,
+    compat_SimpleCookie,
     compat_str,
     compat_urllib_error,
     compat_urllib_parse_unquote,
@@ -2901,13 +2901,10 @@ class InfoExtractor(object):
         self._downloader.cookiejar.set_cookie(cookie)
 
     def _get_cookies(self, url):
-        """ Return a compat_cookies.SimpleCookie with the cookies for the url """
+        """ Return a compat_SimpleCookie with the cookies for the url """
         req = sanitized_Request(url)
         self._downloader.cookiejar.add_cookie_header(req)
-        cookie = req.get_header('Cookie')
-        if cookie and sys.version_info[0] == 2:
-            cookie = str(cookie)
-        return compat_cookies.SimpleCookie(cookie)
+        return compat_SimpleCookie(req.get_header('Cookie'))
 
     def _apply_first_set_cookie_header(self, url_handle, cookie):
         """