From 23a454205aad5156cc16171f48fcdd9bcba65591 Mon Sep 17 00:00:00 2001 From: NoDRM Date: Mon, 27 Dec 2021 10:39:41 +0100 Subject: [PATCH] Update watermark code --- DeDRM_plugin/__init__.py | 6 ++++-- DeDRM_plugin/epubwatermark.py | 13 ++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/DeDRM_plugin/__init__.py b/DeDRM_plugin/__init__.py index f433949..0afa712 100644 --- a/DeDRM_plugin/__init__.py +++ b/DeDRM_plugin/__init__.py @@ -232,7 +232,7 @@ class DeDRM(FileTypePlugin): # Remove watermarks (Amazon or LemonInk) from the OPF file path_to_ebook = watermark.removeOPFwatermarks(self, path_to_ebook) or path_to_ebook - # Remove watermarks (Adobe or LemonInk) from all HTML and XHTML files + # Remove watermarks (Adobe, Pocketbook or LemonInk) from all HTML and XHTML files path_to_ebook = watermark.removeHTMLwatermarks(self, path_to_ebook) or path_to_ebook @@ -606,7 +606,9 @@ class DeDRM(FileTypePlugin): return self.postProcessEPUB(inf.name) #raise DeDRMError("{0} v{1}: Couldn't decrypt after {2:.1f} seconds. DRM free perhaps?".format(PLUGIN_NAME, PLUGIN_VERSION,time.time()-self.starttime)) - def PDFDecrypt(self,path_to_ebook): + + # No DRM? + return self.postProcessEPUB(inf.name) import calibre_plugins.dedrm.prefs as prefs import calibre_plugins.dedrm.ineptpdf as ineptpdf import calibre_plugins.dedrm.lcpdedrm as lcpdedrm diff --git a/DeDRM_plugin/epubwatermark.py b/DeDRM_plugin/epubwatermark.py index 9545975..176c77f 100644 --- a/DeDRM_plugin/epubwatermark.py +++ b/DeDRM_plugin/epubwatermark.py @@ -30,7 +30,7 @@ def removeHTMLwatermarks(object, path_to_ebook): modded_contents = [] count_adept = 0 - + count_pocketbook = 0 count_lemonink_invisible = 0 count_lemonink_visible = 0 lemonink_trackingID = None @@ -53,6 +53,14 @@ def removeHTMLwatermarks(object, path_to_ebook): if (str_new != pre_remove): count_adept += 1 + # Remove Pocketbook watermarks + pre_remove = str_new + str_new = re.sub(r'\
(.*?)\<\/div\>', '', str_new) + + if (str_new != pre_remove): + count_pocketbook += 1 + + # Remove eLibri / LemonInk watermark # Run this in a loop, as it is possible a file has been watermarked twice ... while True: @@ -143,6 +151,9 @@ def removeHTMLwatermarks(object, path_to_ebook): if (count_lemonink_invisible > 0 or count_lemonink_visible > 0): print("Watermark: Successfully stripped {0} visible and {1} invisible LemonInk watermark(s) (\"{2}\") from ebook." .format(count_lemonink_visible, count_lemonink_invisible, lemonink_trackingID)) + + if (count_pocketbook > 0): + print("Watermark: Successfully stripped {0} Pocketbook watermark(s) from ebook.".format(count_pocketbook)) return output