diff --git a/src/book.py b/src/book.py index 51f7ecf..ae5e6ea 100644 --- a/src/book.py +++ b/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()