Overhaul TOC generation and navigation
This commit is contained in:
@@ -83,11 +83,11 @@ class ParseCOMIC:
|
||||
return None
|
||||
|
||||
def get_contents(self):
|
||||
file_settings = {'images_only': True}
|
||||
contents = [(f'Page {count + 1}', i) for count, i in enumerate(self.image_list)]
|
||||
|
||||
return contents, file_settings
|
||||
image_number = len(self.image_list)
|
||||
toc = [(1, f'Page {i + 1}', i + 1) for i in range(image_number)]
|
||||
|
||||
# Return toc, content, images_only
|
||||
return toc, self.image_list, True
|
||||
|
||||
def is_image(filename):
|
||||
valid_image_extensions = ['.png', '.jpg', '.bmp']
|
||||
|
@@ -63,6 +63,12 @@ class ParseEPUB:
|
||||
|
||||
self.book_ref.parse_toc()
|
||||
self.book_ref.parse_chapters(temp_dir=self.extract_path)
|
||||
file_settings = {
|
||||
'images_only': False}
|
||||
return self.book['book_list'], file_settings
|
||||
|
||||
toc = []
|
||||
content = []
|
||||
for count, i in enumerate(self.book['book_list']):
|
||||
toc.append((1, i[0], count + 1))
|
||||
content.append(i[1])
|
||||
|
||||
# Return toc, content, images_only
|
||||
return toc, content, False
|
||||
|
@@ -60,6 +60,12 @@ class ParseFB2:
|
||||
def get_contents(self):
|
||||
os.makedirs(self.extract_path, exist_ok=True) # Manual creation is required here
|
||||
self.book_ref.parse_chapters(temp_dir=self.extract_path)
|
||||
file_settings = {
|
||||
'images_only': False}
|
||||
return self.book['book_list'], file_settings
|
||||
|
||||
toc = []
|
||||
content = []
|
||||
for count, i in enumerate(self.book['book_list']):
|
||||
toc.append((1, i[0], count + 1))
|
||||
content.append(i[1])
|
||||
|
||||
# Return toc, content, images_only
|
||||
return toc, content, False
|
||||
|
@@ -73,24 +73,13 @@ class ParsePDF:
|
||||
return tags # Fine if it returns None
|
||||
|
||||
def get_contents(self):
|
||||
# Contents are to be returned as:
|
||||
# Level, Title, Page Number
|
||||
# Increasing the level number means the
|
||||
# title is one level up in the tree
|
||||
content = list(range(self.book.pageCount))
|
||||
toc = self.book.getToC()
|
||||
if not toc:
|
||||
toc = [(1, f'Page {i + 1}', i + 1) for i in range(self.book.pageCount)]
|
||||
|
||||
# TODO
|
||||
# Better parsing of TOC
|
||||
# file_settings = {'images_only': True}
|
||||
# contents = self.book.getToC()
|
||||
# if not contents:
|
||||
# contents = [
|
||||
# (1, f'Page {i + 1}', i) for i in range(self.book.pageCount)]
|
||||
|
||||
# return contents, file_settings
|
||||
|
||||
file_settings = {'images_only': True}
|
||||
contents = [(f'Page {i + 1}', i) for i in range(self.book.pageCount)]
|
||||
return contents, file_settings
|
||||
# Return toc, content, images_only
|
||||
return toc, content, True
|
||||
|
||||
|
||||
def render_pdf_page(page_data, for_cover=False):
|
||||
|
Reference in New Issue
Block a user