mirror of
https://codeberg.org/polarisfm/youtube-dl
synced 2024-11-26 02:14:32 +01:00
Merge branch 'master' of https://github.com/ytdl-org/youtube-dl into crunchyroll-country-fix
This commit is contained in:
commit
aee5b53d78
@ -14,9 +14,6 @@ from youtube_dl.utils import YoutubeDLCookieJar
|
||||
|
||||
|
||||
class TestYoutubeDLCookieJar(unittest.TestCase):
|
||||
def __assert_cookie_has_value(self, cookiejar, key):
|
||||
self.assertEqual(cookiejar._cookies['www.foobar.foobar']['/'][key].value, key + '_VALUE')
|
||||
|
||||
def test_keep_session_cookies(self):
|
||||
cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/session_cookies.txt')
|
||||
cookiejar.load(ignore_discard=True, ignore_expires=True)
|
||||
@ -35,13 +32,12 @@ class TestYoutubeDLCookieJar(unittest.TestCase):
|
||||
def test_strip_httponly_prefix(self):
|
||||
cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/httponly_cookies.txt')
|
||||
cookiejar.load(ignore_discard=True, ignore_expires=True)
|
||||
self.__assert_cookie_has_value(cookiejar, 'HTTPONLY_COOKIE')
|
||||
self.__assert_cookie_has_value(cookiejar, 'JS_ACCESSIBLE_COOKIE')
|
||||
|
||||
def test_convert_spaces_to_tabs(self):
|
||||
cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/cookie_file_with_spaces.txt')
|
||||
cookiejar.load(ignore_discard=True, ignore_expires=True)
|
||||
self.__assert_cookie_has_value(cookiejar, 'COOKIE')
|
||||
def assert_cookie_has_value(key):
|
||||
self.assertEqual(cookiejar._cookies['www.foobar.foobar']['/'][key].value, key + '_VALUE')
|
||||
|
||||
assert_cookie_has_value('HTTPONLY_COOKIE')
|
||||
assert_cookie_has_value('JS_ACCESSIBLE_COOKIE')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -1,5 +0,0 @@
|
||||
# Netscape HTTP Cookie File
|
||||
# http://curl.haxx.se/rfc/cookie_spec.html
|
||||
# This is a generated file! Do not edit.
|
||||
|
||||
www.foobar.foobar FALSE / TRUE 2147483647 COOKIE COOKIE_VALUE
|
@ -2729,6 +2729,11 @@ class YoutubeDLHTTPSHandler(compat_urllib_request.HTTPSHandler):
|
||||
|
||||
|
||||
class YoutubeDLCookieJar(compat_cookiejar.MozillaCookieJar):
|
||||
"""
|
||||
See [1] for cookie file format.
|
||||
|
||||
1. https://curl.haxx.se/docs/http-cookies.html
|
||||
"""
|
||||
_HTTPONLY_PREFIX = '#HttpOnly_'
|
||||
|
||||
def save(self, filename=None, ignore_discard=False, ignore_expires=False):
|
||||
@ -2752,11 +2757,6 @@ class YoutubeDLCookieJar(compat_cookiejar.MozillaCookieJar):
|
||||
for line in f:
|
||||
if line.startswith(self._HTTPONLY_PREFIX):
|
||||
line = line[len(self._HTTPONLY_PREFIX):]
|
||||
# Cookie file may contain spaces instead of tabs.
|
||||
# Replace all spaces with tabs to make such cookie files work
|
||||
# with MozillaCookieJar.
|
||||
if not line.startswith('#'):
|
||||
line = re.sub(r' +', r'\t', line)
|
||||
cf.write(compat_str(line))
|
||||
cf.seek(0)
|
||||
self._really_load(cf, filename, ignore_discard, ignore_expires)
|
||||
|
Loading…
Reference in New Issue
Block a user