According to [1] TABs must be used as separators between fields.
Files produces by some tools with spaces as separators are considered
malformed.
1. https://curl.haxx.se/docs/http-cookies.html
This reverts commit
cff99c91d150df2a4e21962a3ca8d4ae94533b8c.
class TestYoutubeDLCookieJar(unittest.TestCase):
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)
def test_keep_session_cookies(self):
cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/session_cookies.txt')
cookiejar.load(ignore_discard=True, ignore_expires=True)
def test_strip_httponly_prefix(self):
cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/httponly_cookies.txt')
cookiejar.load(ignore_discard=True, ignore_expires=True)
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__':
if __name__ == '__main__':
+++ /dev/null
-# 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
for line in f:
if line.startswith(self._HTTPONLY_PREFIX):
line = line[len(self._HTTPONLY_PREFIX):]
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)
cf.write(compat_str(line))
cf.seek(0)
self._really_load(cf, filename, ignore_discard, ignore_expires)