From ea5dc5be95a1bc8a8c8caf42ecf19b12a01e25ff Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Thu, 9 Apr 2020 14:14:13 +0100 Subject: Log whether removing arXiv stamp was successful --- paper2remarkable/log.py | 24 ++++++++++++++++-------- paper2remarkable/providers/arxiv.py | 8 +++++--- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/paper2remarkable/log.py b/paper2remarkable/log.py index bae1cbf..3a2fcc5 100644 --- a/paper2remarkable/log.py +++ b/paper2remarkable/log.py @@ -38,19 +38,27 @@ class Logger(metaclass=Singleton): def disable(self): self.enabled = False - def _log(self, msg, mode): + def _log(self, msg, mode, end='\n', add_prefix=True): if not self.enabled: return if not mode in ("info", "warn"): raise ValueError("Unknown logging mode: %s" % mode) file = sys.stdout if mode == "info" else sys.stderr - now = datetime.datetime.now() - nowstr = now.strftime("%Y-%m-%d %H:%M:%S") - print("%s - %s - %s" % (nowstr, mode.upper(), msg), file=file) + if add_prefix: + now = datetime.datetime.now() + nowstr = now.strftime("%Y-%m-%d %H:%M:%S") + prefix = "%s - %s - " % (nowstr, mode.upper()) + else: + prefix = "" + print("%s%s" % (prefix, msg), end=end, file=file) file.flush() - def info(self, msg): - self._log(msg, "info") + def info(self, msg, end='\n'): + self._log(msg, "info", end=end) + + def warning(self, msg, end='\n'): + self._log(msg, "warn", end=end) + + def append(self, msg, mode, end='\n'): + self._log(msg, mode, end=end, add_prefix=False) - def warning(self, msg): - self._log(msg, "warn") diff --git a/paper2remarkable/providers/arxiv.py b/paper2remarkable/providers/arxiv.py index 572c2bf..47da448 100644 --- a/paper2remarkable/providers/arxiv.py +++ b/paper2remarkable/providers/arxiv.py @@ -65,7 +65,7 @@ class Arxiv(Provider): def dearxiv(self, input_file): """Remove the arXiv timestamp from a pdf""" - logger.info("Removing arXiv timestamp") + logger.info("Removing arXiv timestamp ... ", end="") basename = os.path.splitext(input_file)[0] uncompress_file = basename + "_uncompress.pdf" @@ -90,13 +90,13 @@ class Arxiv(Provider): current_obj.append(line) objid = int(line.split(b" ")[0]) xref[objid] = char_count - elif current_obj and line.startswith(b'endobj'): + elif current_obj and line.startswith(b"endobj"): # End the current object. If needed, replace the arXiv # stamp in the block (done only once). Reset current # object. current_obj.append(line) block = b"".join(current_obj) - if not replaced_arXiv: + if not replaced_arXiv and b"arXivStAmP" in block: # remove the text block, n_subs1 = re.subn( b"\(" + DEARXIV_TEXT_REGEX + b"\)Tj", @@ -148,6 +148,8 @@ class Arxiv(Provider): output_file = basename + "_dearxiv.pdf" self.compress_pdf(removed_file, output_file) + logger.append("success" if replaced_arXiv else "failed", "info") + return output_file -- cgit v1.2.3