[common] improve cookie-related logging messages
This commit is contained in:
@@ -516,9 +516,11 @@ class Extractor():
|
||||
with open(path) as fp:
|
||||
cookies = util.cookiestxt_load(fp)
|
||||
except Exception as exc:
|
||||
self.log.warning("cookies: %s", exc)
|
||||
self.log.warning("cookies: Failed to load '%s' (%s: %s)",
|
||||
cookies_source, exc.__class__.__name__, exc)
|
||||
else:
|
||||
self.log.debug("Loading cookies from '%s'", cookies_source)
|
||||
self.log.debug("cookies: Loading cookies from '%s'",
|
||||
cookies_source)
|
||||
set_cookie = self.cookies.set_cookie
|
||||
for cookie in cookies:
|
||||
set_cookie(cookie)
|
||||
@@ -538,16 +540,16 @@ class Extractor():
|
||||
else:
|
||||
_browser_cookies[key] = cookies
|
||||
else:
|
||||
self.log.debug("Using cached cookies from %s", key)
|
||||
self.log.debug("cookies: Using cached cookies from %s", key)
|
||||
|
||||
set_cookie = self.cookies.set_cookie
|
||||
for cookie in cookies:
|
||||
set_cookie(cookie)
|
||||
|
||||
else:
|
||||
self.log.warning(
|
||||
"Expected 'dict', 'list', or 'str' value for 'cookies' "
|
||||
"option, got '%s' (%s)",
|
||||
self.log.error(
|
||||
"cookies: Expected 'dict', 'list', or 'str' value for "
|
||||
"'cookies' option, got '%s' instead (%r)",
|
||||
cookies_source.__class__.__name__, cookies_source)
|
||||
|
||||
def cookies_store(self):
|
||||
@@ -569,7 +571,8 @@ class Extractor():
|
||||
util.cookiestxt_store(fp, self.cookies)
|
||||
os.replace(path_tmp, path)
|
||||
except OSError as exc:
|
||||
self.log.warning("cookies: %s", exc)
|
||||
self.log.error("cookies: Failed to write to '%s' "
|
||||
"(%s: %s)", path, exc.__class__.__name__, exc)
|
||||
|
||||
def cookies_update(self, cookies, domain=""):
|
||||
"""Update the session's cookiejar with 'cookies'"""
|
||||
|
||||
@@ -14,6 +14,7 @@ from unittest import mock
|
||||
|
||||
import time
|
||||
import logging
|
||||
import datetime
|
||||
import tempfile
|
||||
from os.path import join
|
||||
|
||||
@@ -70,8 +71,7 @@ class TestCookiejar(unittest.TestCase):
|
||||
|
||||
self.assertEqual(len(cookies), 0)
|
||||
self.assertEqual(mock_warning.call_count, 1)
|
||||
self.assertEqual(mock_warning.call_args[0][0], "cookies: %s")
|
||||
self.assertIsInstance(mock_warning.call_args[0][1], exc)
|
||||
self.assertIsInstance(mock_warning.call_args[0][-1], exc)
|
||||
|
||||
|
||||
class TestCookiedict(unittest.TestCase):
|
||||
@@ -205,27 +205,32 @@ class TestCookieUtils(unittest.TestCase):
|
||||
now = int(time.time())
|
||||
log = logging.getLogger("generic")
|
||||
|
||||
extr.cookies.set("a", "1", expires=now-100)
|
||||
extr.cookies.set("a", "1", expires=now-100, domain=".example.org")
|
||||
with mock.patch.object(log, "warning") as mw:
|
||||
self.assertFalse(extr.cookies_check(("a",)))
|
||||
self.assertEqual(mw.call_count, 1)
|
||||
self.assertEqual(mw.call_args[0], ("Cookie '%s' has expired", "a"))
|
||||
self.assertEqual(mw.call_args[0], (
|
||||
"cookies: %s/%s expired at %s", "example.org", "a",
|
||||
datetime.datetime.fromtimestamp(now-100)))
|
||||
|
||||
extr.cookies.set("a", "1", expires=now+100)
|
||||
extr.cookies.set("a", "1", expires=now+100, domain=".example.org")
|
||||
with mock.patch.object(log, "warning") as mw:
|
||||
self.assertTrue(extr.cookies_check(("a",)))
|
||||
self.assertEqual(mw.call_count, 1)
|
||||
self.assertEqual(mw.call_args[0], (
|
||||
"Cookie '%s' will expire in less than %s hour%s", "a", 1, ""))
|
||||
"cookies: %s/%s will expire in less than %s hour%s",
|
||||
"example.org", "a", 1, ""))
|
||||
|
||||
extr.cookies.set("a", "1", expires=now+100+7200)
|
||||
extr.cookies.set("a", "1", expires=now+100+7200, domain=".example.org")
|
||||
with mock.patch.object(log, "warning") as mw:
|
||||
self.assertTrue(extr.cookies_check(("a",)))
|
||||
self.assertEqual(mw.call_count, 1)
|
||||
self.assertEqual(mw.call_args[0], (
|
||||
"Cookie '%s' will expire in less than %s hour%s", "a", 3, "s"))
|
||||
"cookies: %s/%s will expire in less than %s hour%s",
|
||||
"example.org", "a", 3, "s"))
|
||||
|
||||
extr.cookies.set("a", "1", expires=now+100+24*3600)
|
||||
extr.cookies.set(
|
||||
"a", "1", expires=now+100+24*3600, domain=".example.org")
|
||||
with mock.patch.object(log, "warning") as mw:
|
||||
self.assertTrue(extr.cookies_check(("a",)))
|
||||
self.assertEqual(mw.call_count, 0)
|
||||
|
||||
Reference in New Issue
Block a user