aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2020-05-24 21:34:14 +0100
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2020-05-24 21:34:14 +0100
commit0c49ec9dc43cfa91cdaa0053a26f73913d4b1148 (patch)
tree48be32acbde4d3a7c99f76512956adbdb36c65eb
parentRemove extra pdfurl test (diff)
parentMerge branch 'master' into bugfix/pdfreader_error (diff)
downloadpaper2remarkable-0c49ec9dc43cfa91cdaa0053a26f73913d4b1148.tar.gz
paper2remarkable-0c49ec9dc43cfa91cdaa0053a26f73913d4b1148.zip
Merge branch 'bugfix/pdfreader_error'
-rw-r--r--paper2remarkable/providers/_base.py17
-rw-r--r--tests/test_providers.py8
2 files changed, 17 insertions, 8 deletions
diff --git a/paper2remarkable/providers/_base.py b/paper2remarkable/providers/_base.py
index 5ca3588..1625432 100644
--- a/paper2remarkable/providers/_base.py
+++ b/paper2remarkable/providers/_base.py
@@ -71,14 +71,13 @@ class Provider(metaclass=abc.ABCMeta):
logger.disable()
# Define the operations to run on the pdf. Providers can add others.
- if no_crop:
- self.operations = []
- elif center:
- self.operations = [("center", self.center_pdf)]
+ self.operations = [("rewrite", self.rewrite_pdf)]
+ if center:
+ self.operations.append(("center", self.center_pdf))
elif right:
- self.operations = [("right", self.right_pdf)]
+ self.operations.append(("right", self.right_pdf))
else:
- self.operations = [("crop", self.crop_pdf)]
+ self.operations.append(("crop", self.crop_pdf))
if blank:
self.operations.append(("blank", blank_pdf))
@@ -131,11 +130,14 @@ class Provider(metaclass=abc.ABCMeta):
"%s failed to compress the PDF file." % self.pdftool
)
- def rewrite_pdf(self, in_pdf, out_pdf):
+ def rewrite_pdf(self, in_pdf, out_pdf=None):
""" Re-write the pdf using Ghostscript
This helps avoid issues in dearxiv due to nested pdfs.
"""
+ if out_pdf is None:
+ out_pdf = os.path.splitext(in_pdf)[0] + "-rewrite.pdf"
+
status = subprocess.call(
[
self.gs_path,
@@ -150,6 +152,7 @@ class Provider(metaclass=abc.ABCMeta):
raise _CalledProcessError(
"Failed to rewrite the pdf with GhostScript"
)
+ return out_pdf
def uncompress_pdf(self, in_pdf, out_pdf):
""" Uncompress a pdf file """
diff --git a/tests/test_providers.py b/tests/test_providers.py
index d2fdb0d..fb75fbd 100644
--- a/tests/test_providers.py
+++ b/tests/test_providers.py
@@ -142,12 +142,18 @@ class TestProviders(unittest.TestCase):
filename = prov.run(local_filename)
self.assertEqual("test_.pdf", os.path.basename(filename))
- def test_pdfurl(self):
+ def test_pdfurl_1(self):
prov = PdfUrl(upload=False, verbose=VERBOSE)
url = "http://www.jmlr.org/papers/volume17/14-526/14-526.pdf"
filename = prov.run(url)
self.assertEqual("14-526.pdf", os.path.basename(filename))
+ def test_pdfurl_2(self):
+ prov = PdfUrl(upload=False, verbose=VERBOSE)
+ url = "https://www.manuelrigger.at/preprints/NoREC.pdf"
+ filename = prov.run(url)
+ self.assertEqual("NoREC.pdf", os.path.basename(filename))
+
def test_jmlr_1(self):
prov = JMLR(upload=False, verbose=VERBOSE)
url = "http://www.jmlr.org/papers/volume17/14-526/14-526.pdf"