From f24d1b3fdba482e69f7cfc7a6fb7ecabbcba069d Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Sat, 4 Apr 2020 16:20:15 +0100 Subject: Move arXiv tests to a separate file --- tests/test_arxiv.py | 29 +++++++++++++++++++++++++++++ tests/test_providers.py | 14 -------------- 2 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 tests/test_arxiv.py diff --git a/tests/test_arxiv.py b/tests/test_arxiv.py new file mode 100644 index 0000000..beb9baa --- /dev/null +++ b/tests/test_arxiv.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +"""Unit tests for arXiv provider + +This file is part of paper2remarkable. + +""" + +import re +import unittest + +from paper2remarkable.providers.arxiv import DEARXIV_TEXT_REGEX + + +class TestArxiv(unittest.TestCase): + def test_text_regex_1(self): + key = b"arXiv:1908.03213v1 [astro.HE] 8 Aug 2019" + m = re.fullmatch(DEARXIV_TEXT_REGEX, key) + self.assertIsNotNone(m) + + def test_text_regex_2(self): + key = b"arXiv:1908.03213v1 [astro-ph.HE] 8 Aug 2019" + m = re.fullmatch(DEARXIV_TEXT_REGEX, key) + self.assertIsNotNone(m) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_providers.py b/tests/test_providers.py index e539949..e0239ed 100644 --- a/tests/test_providers.py +++ b/tests/test_providers.py @@ -7,7 +7,6 @@ __author__ = "G.J.J. van den Burg" import hashlib import os -import re import shutil import tempfile import unittest @@ -27,7 +26,6 @@ from paper2remarkable.providers import ( PubMed, Springer, ) -from paper2remarkable.providers.arxiv import DEARXIV_TEXT_REGEX VERBOSE = False @@ -43,18 +41,6 @@ def md5sum(filename): return hasher.hexdigest() -class TestArxiv(unittest.TestCase): - def test_text_regex_1(self): - key = b"arXiv:1908.03213v1 [astro.HE] 8 Aug 2019" - m = re.fullmatch(DEARXIV_TEXT_REGEX, key) - self.assertIsNotNone(m) - - def test_text_regex_2(self): - key = b"arXiv:1908.03213v1 [astro-ph.HE] 8 Aug 2019" - m = re.fullmatch(DEARXIV_TEXT_REGEX, key) - self.assertIsNotNone(m) - - class TestProviders(unittest.TestCase): @classmethod def setUpClass(cls): -- cgit v1.2.3 From d2574dc53761d7e1379ce9569ae24508102a8aea Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Sat, 4 Apr 2020 16:58:56 +0100 Subject: Properly update cookiejar This fixes a bug for Springer urls where the cookies wouldn't be properly carried over, resulting in a redirection failure. --- paper2remarkable/utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/paper2remarkable/utils.py b/paper2remarkable/utils.py index 39cf547..969dc32 100644 --- a/paper2remarkable/utils.py +++ b/paper2remarkable/utils.py @@ -122,8 +122,10 @@ def follow_redirects(url): if not "Location" in req.headers: break url = req.headers["Location"] - jar = req.cookies + jar.update(req.cookies) it += 1 + if it == 100: + logger.warning("Max redirects reached. There may be a problem.") jar = jar or req.cookies return url, jar -- cgit v1.2.3