From b832a5941458083dd6147efb652036552f95b786 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Fri, 12 Oct 2018 11:49:24 +0200 Subject: Refactor lightweight mode implementation --- libmat2/abstract.py | 8 +------- libmat2/pdf.py | 9 +++++++-- 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'libmat2') diff --git a/libmat2/abstract.py b/libmat2/abstract.py index cd72f2c..5bcaa69 100644 --- a/libmat2/abstract.py +++ b/libmat2/abstract.py @@ -19,6 +19,7 @@ class AbstractParser(abc.ABC): self.filename = filename fname, extension = os.path.splitext(filename) self.output_filename = fname + '.cleaned' + extension + self.lightweight_cleaning = False @abc.abstractmethod def get_meta(self) -> Dict[str, str]: @@ -27,10 +28,3 @@ class AbstractParser(abc.ABC): @abc.abstractmethod def remove_all(self) -> bool: pass # pragma: no cover - - def remove_all_lightweight(self) -> bool: - """ This method removes _SOME_ metadata. - It might be useful to implement it for fileformats that do - not support non-destructive cleaning. - """ - return self.remove_all() diff --git a/libmat2/pdf.py b/libmat2/pdf.py index c8769aa..140b4f4 100644 --- a/libmat2/pdf.py +++ b/libmat2/pdf.py @@ -37,7 +37,12 @@ class PDFParser(abstract.AbstractParser): except GLib.GError: # Invalid PDF raise ValueError - def remove_all_lightweight(self): + def remove_all(self) -> bool: + if self.lightweight_cleaning is True: + return self.__remove_all_lightweight() + return self.__remove_all_thorough() + + def __remove_all_lightweight(self) -> bool: """ Load the document into Poppler, render pages on a new PDFSurface. """ @@ -64,7 +69,7 @@ class PDFParser(abstract.AbstractParser): return True - def remove_all(self): + def __remove_all_thorough(self) -> bool: """ Load the document into Poppler, render pages on PNG, and shove those PNG into a new PDF. -- cgit v1.3