diff --git a/src/epub_converter/epub_converter.py b/src/epub_converter/epub_converter.py index a93e577..b5e504b 100644 --- a/src/epub_converter/epub_converter.py +++ b/src/epub_converter/epub_converter.py @@ -214,23 +214,24 @@ class EpubConverter: sub_nodes = [] for elem in second: - if 'chapter' in (elem.title.lower() if isinstance(elem, Link) else elem[0].title.lower()): + if 'chapter' in (elem.title.lower() if isinstance(elem, Link) else elem[0].title.lower())\ + and 'appendices' not in (elem.title.lower() if isinstance(elem, Link) else elem[0].title.lower()): self.offset_sub_nodes.append(self.build_adjacency_list_from_toc(elem, lvl)) else: sub_nodes.append( self.build_adjacency_list_from_toc(elem, lvl + 1)) - self.adjacency_list[nav_point] = sub_nodes or self.offset_sub_nodes + self.adjacency_list[nav_point] = sub_nodes self.hrefs_added_to_toc.add(nav_point.href) return nav_point elif isinstance(element, list) and (lvl == 0): nodes = [] - # go through every element + # add through every element for elem in element: nodes.append( self.build_adjacency_list_from_toc(elem, lvl + 1)) - # go through every offset sub element + # set chapter_i after Section & add through every offset sub element for offset_sub_node in self.offset_sub_nodes: nodes.append(offset_sub_node) self.offset_sub_nodes = [] @@ -510,7 +511,7 @@ if __name__ == "__main__": logger_object = BookLogger(name=f'epub', main_logger=logger, book_id=0) - json_converter = EpubConverter('../../epub/9781634259804.epub', + json_converter = EpubConverter('../../epub/9781641051217.epub', logger=logger_object) tmp = json_converter.convert_to_dict()