From 1145607df4683cbbe0899afb3f526b70add2e328 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 20 Nov 2016 22:59:48 +0530 Subject: [PATCH] EPUB Input: When an invalid nav based ToC is used in an EPUB 3.0 document that also has a fallback NCX ToC, use the fallback ToC. Fixes #1643247 [Private bug](https://bugs.launchpad.net/calibre/+bug/1643247) --- src/calibre/ebooks/conversion/plugins/epub_input.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/conversion/plugins/epub_input.py b/src/calibre/ebooks/conversion/plugins/epub_input.py index c712cf9fd1..bcaab21a98 100644 --- a/src/calibre/ebooks/conversion/plugins/epub_input.py +++ b/src/calibre/ebooks/conversion/plugins/epub_input.py @@ -350,6 +350,8 @@ class EPUBInput(InputFormatPlugin): if ol is not None: process_nav_node(ol, navmap) break + else: + return with NamedTemporaryFile(suffix='.ncx', dir=os.path.dirname(nav_path), delete=False) as f: f.write(etree.tostring(ncx, encoding='utf-8')) @@ -368,5 +370,3 @@ class EPUBInput(InputFormatPlugin): spine = {x.href for x in oeb.spine} if (cover_toc_item is not None and cover_toc_item not in spine): oeb.toc.item_that_refers_to_cover = cover_toc_item - -