about summary refs log tree commit diff
path: root/youtube_dl/YoutubeDL.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2018-12-09 06:00:32 +0700
committerSergey M․ <dstftw@gmail.com>2018-12-09 06:47:49 +0700
commit1bab3437046646da4ebe2b8e0c7fdc25aa1072ce (patch)
tree777e551bad03989d0bbd3c5e8b7f48b932c01ac9 /youtube_dl/YoutubeDL.py
parent1d88b3e6e6e59e4b52305faf6c1bf1fd69c555ee (diff)
downloadyoutube-dl-1bab3437046646da4ebe2b8e0c7fdc25aa1072ce.tar.gz
youtube-dl-1bab3437046646da4ebe2b8e0c7fdc25aa1072ce.tar.xz
youtube-dl-1bab3437046646da4ebe2b8e0c7fdc25aa1072ce.zip
[YoutubeDL] Introduce YoutubeDLCookieJar and clarify the rationale behind session cookies (closes #12929)
Diffstat (limited to 'youtube_dl/YoutubeDL.py')
-rwxr-xr-xyoutube_dl/YoutubeDL.py12
1 files changed, 3 insertions, 9 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index 2433f74f4..4493fd0e1 100755
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -88,6 +88,7 @@ from .utils import (
     version_tuple,
     write_json_file,
     write_string,
+    YoutubeDLCookieJar,
     YoutubeDLCookieProcessor,
     YoutubeDLHandler,
 )
@@ -558,7 +559,7 @@ class YoutubeDL(object):
         self.restore_console_title()
 
         if self.params.get('cookiefile') is not None:
-            self.cookiejar.save()
+            self.cookiejar.save(ignore_discard=True, ignore_expires=True)
 
     def trouble(self, message=None, tb=None):
         """Determine action to take when a download problem appears.
@@ -2297,16 +2298,9 @@ class YoutubeDL(object):
             self.cookiejar = compat_cookiejar.CookieJar()
         else:
             opts_cookiefile = expand_path(opts_cookiefile)
-            self.cookiejar = compat_cookiejar.MozillaCookieJar(
-                opts_cookiefile)
+            self.cookiejar = YoutubeDLCookieJar(opts_cookiefile)
             if os.access(opts_cookiefile, os.R_OK):
                 self.cookiejar.load(ignore_discard=True, ignore_expires=True)
-                # Force CookieJar to treat 'expires=0' cookies as session/discard cookies
-                # Fixes https://bugs.python.org/issue17164
-                for cookie in self.cookiejar:
-                    if cookie.expires == 0:
-                        cookie.expires = None
-                        cookie.discard = True
 
         cookie_processor = YoutubeDLCookieProcessor(self.cookiejar)
         if opts_proxy is not None: