mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[cleanup] Misc cleanup
This commit is contained in:
		| @@ -1445,6 +1445,10 @@ class YoutubeDLCookieJar(compat_cookiejar.MozillaCookieJar): | ||||
|             filename = os.fspath(filename) | ||||
|         self.filename = filename | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def _true_or_false(cndn): | ||||
|         return 'TRUE' if cndn else 'FALSE' | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def is_path(file): | ||||
|         return isinstance(file, (str, bytes, os.PathLike)) | ||||
| @@ -1459,57 +1463,47 @@ class YoutubeDLCookieJar(compat_cookiejar.MozillaCookieJar): | ||||
|                 file.truncate(0) | ||||
|             yield file | ||||
| 
 | ||||
|     def save(self, filename=None, ignore_discard=False, ignore_expires=False): | ||||
|     def _really_save(self, f, ignore_discard=False, ignore_expires=False): | ||||
|         now = time.time() | ||||
|         for cookie in self: | ||||
|             if (not ignore_discard and cookie.discard | ||||
|                     or not ignore_expires and cookie.is_expired(now)): | ||||
|                 continue | ||||
|             name, value = cookie.name, cookie.value | ||||
|             if value is None: | ||||
|                 # cookies.txt regards 'Set-Cookie: foo' as a cookie | ||||
|                 # with no name, whereas http.cookiejar regards it as a | ||||
|                 # cookie with no value. | ||||
|                 name, value = '', name | ||||
|             f.write('%s\n' % '\t'.join(( | ||||
|                 cookie.domain, | ||||
|                 self._true_or_false(cookie.domain.startswith('.')), | ||||
|                 cookie.path, | ||||
|                 self._true_or_false(cookie.secure), | ||||
|                 str_or_none(cookie.expires, default=''), | ||||
|                 name, value | ||||
|             ))) | ||||
| 
 | ||||
|     def save(self, filename=None, *args, **kwargs): | ||||
|         """ | ||||
|         Save cookies to a file. | ||||
|         Code is taken from CPython 3.6 | ||||
|         https://github.com/python/cpython/blob/8d999cbf4adea053be6dbb612b9844635c4dfb8e/Lib/http/cookiejar.py#L2091-L2117 """ | ||||
| 
 | ||||
|         Most of the code is taken from CPython 3.8 and slightly adapted | ||||
|         to support cookie files with UTF-8 in both python 2 and 3. | ||||
|         """ | ||||
|         if filename is None: | ||||
|             if self.filename is not None: | ||||
|                 filename = self.filename | ||||
|             else: | ||||
|                 raise ValueError(compat_cookiejar.MISSING_FILENAME_TEXT) | ||||
| 
 | ||||
|         # Store session cookies with `expires` set to 0 instead of an empty | ||||
|         # string | ||||
|         # Store session cookies with `expires` set to 0 instead of an empty string | ||||
|         for cookie in self: | ||||
|             if cookie.expires is None: | ||||
|                 cookie.expires = 0 | ||||
| 
 | ||||
|         with self.open(filename, write=True) as f: | ||||
|             f.write(self._HEADER) | ||||
|             now = time.time() | ||||
|             for cookie in self: | ||||
|                 if not ignore_discard and cookie.discard: | ||||
|                     continue | ||||
|                 if not ignore_expires and cookie.is_expired(now): | ||||
|                     continue | ||||
|                 if cookie.secure: | ||||
|                     secure = 'TRUE' | ||||
|                 else: | ||||
|                     secure = 'FALSE' | ||||
|                 if cookie.domain.startswith('.'): | ||||
|                     initial_dot = 'TRUE' | ||||
|                 else: | ||||
|                     initial_dot = 'FALSE' | ||||
|                 if cookie.expires is not None: | ||||
|                     expires = compat_str(cookie.expires) | ||||
|                 else: | ||||
|                     expires = '' | ||||
|                 if cookie.value is None: | ||||
|                     # cookies.txt regards 'Set-Cookie: foo' as a cookie | ||||
|                     # with no name, whereas http.cookiejar regards it as a | ||||
|                     # cookie with no value. | ||||
|                     name = '' | ||||
|                     value = cookie.name | ||||
|                 else: | ||||
|                     name = cookie.name | ||||
|                     value = cookie.value | ||||
|                 f.write( | ||||
|                     '\t'.join([cookie.domain, initial_dot, cookie.path, | ||||
|                                secure, expires, name, value]) + '\n') | ||||
|             self._really_save(f, *args, **kwargs) | ||||
| 
 | ||||
|     def load(self, filename=None, ignore_discard=False, ignore_expires=False): | ||||
|         """Load cookies from a file.""" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan