forked from LiveCarta/BookConverter
fix footnote creating
- only p tags were processed before
This commit is contained in:
15
src/book.py
15
src/book.py
@@ -10,7 +10,7 @@ from threading import Event
|
||||
from copy import copy
|
||||
from shutil import copyfile
|
||||
|
||||
from bs4 import BeautifulSoup
|
||||
from bs4 import BeautifulSoup, NavigableString
|
||||
|
||||
|
||||
class Book:
|
||||
@@ -572,7 +572,16 @@ class Book:
|
||||
anc_tag.replace_with(new_tag)
|
||||
|
||||
cont_tag.a.decompose()
|
||||
content = self._clean_footnote_content(cont_tag.p.decode_contents())
|
||||
unicode_string = ''
|
||||
for child in cont_tag.children:
|
||||
if type(child) is NavigableString:
|
||||
continue
|
||||
if child.name == 'blockquote':
|
||||
unicode_string += str(child)
|
||||
else:
|
||||
unicode_string += child.decode_contents()
|
||||
|
||||
content = self._clean_footnote_content(unicode_string)
|
||||
cont_tag.decompose()
|
||||
|
||||
# new_tag = BeautifulSoup(features="lxml").new_tag('div')
|
||||
@@ -837,10 +846,10 @@ class Book:
|
||||
|
||||
self.content = self.body_tag.find_all(recursive=False)
|
||||
|
||||
self._process_lists()
|
||||
# delete text before table of content if exists
|
||||
self.delete_content_before_toc()
|
||||
|
||||
self._process_lists()
|
||||
except Exception as exc:
|
||||
self.log('Error has occurred while processing html.', logging.ERROR)
|
||||
self.log_error_to_main_log()
|
||||
|
||||
Reference in New Issue
Block a user