From b387995f4d35991dad7d166c5e8d3569f59c0140 Mon Sep 17 00:00:00 2001 From: yihong Date: Tue, 7 Mar 2023 17:57:34 +0800 Subject: [PATCH] fix: #71 upstream bug (#89) --- make_book.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/make_book.py b/make_book.py index 3b9d295..7b1db34 100644 --- a/make_book.py +++ b/make_book.py @@ -146,7 +146,25 @@ class BEPUB: self.epub_name = epub_name self.new_epub = epub.EpubBook() self.translate_model = model(key, language, model_api_base) - self.origin_book = epub.read_epub(self.epub_name) + + try: + self.origin_book = epub.read_epub(self.epub_name) + except: + # tricky for #71 if you don't know why please check the issue and ignore this + # when upstream change will TODO fix this + def _load_spine(self): + spine = self.container.find( + "{%s}%s" % (epub.NAMESPACES["OPF"], "spine") + ) + + self.book.spine = [ + (t.get("idref"), t.get("linear", "yes")) for t in spine + ] + self.book.set_direction(spine.get("page-progression-direction", None)) + + epub.EpubReader._load_spine = _load_spine + self.origin_book = epub.read_epub(self.epub_name) + self.p_to_save = [] self.resume = resume self.bin_path = f"{Path(epub_name).parent}/.{Path(epub_name).stem}.temp.bin"