forked from LiveCarta/BookConverter
Change logic in offsetting chapters
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user