forked from LiveCarta/BookConverter
Add try-except block for every part | Docx
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
import codecs
|
import codecs
|
||||||
|
import logging
|
||||||
from threading import Event
|
from threading import Event
|
||||||
|
|
||||||
from src.book_solver import BookSolver
|
from src.book_solver import BookSolver
|
||||||
@@ -34,21 +35,40 @@ class DocxBook(BookSolver):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
# 1. Converts docx to html with LibreOffice
|
# 1. Converts docx to html with LibreOffice
|
||||||
|
try:
|
||||||
html_converter = Docx2LibreHTML(self.book_id, self.book_path, self.access,
|
html_converter = Docx2LibreHTML(self.book_id, self.book_path, self.access,
|
||||||
self.logger_object, self.libre_locker)
|
self.logger_object, self.libre_locker)
|
||||||
# todo presets
|
except Exception as exc:
|
||||||
|
self.logger_object.log(
|
||||||
|
"Error has occurred while converting .docx to .html.", logging.ERROR)
|
||||||
|
self.logger_object.log_error_to_main_log()
|
||||||
|
self.status_wrapper.set_error()
|
||||||
|
raise exc
|
||||||
|
|
||||||
# 2. Parses and cleans html, gets list of tags, gets footnotes
|
# 2. Parses and cleans html, gets list of tags, gets footnotes
|
||||||
|
try:
|
||||||
parser = HTMLDocxPreprocessor(
|
parser = HTMLDocxPreprocessor(
|
||||||
html_converter.html_soup, self.logger_object)
|
html_converter.html_soup, self.logger_object)
|
||||||
bs_tags, footnotes, top_level_headers = parser.process_html(
|
bs_tags, footnotes, top_level_headers = parser.process_html(
|
||||||
self.access, html_converter.html_path, self.book_id)
|
self.access, html_converter.html_path, self.book_id)
|
||||||
|
except Exception as exc:
|
||||||
|
self.logger_object.log(
|
||||||
|
"Error has occurred while processing .html", logging.ERROR)
|
||||||
|
self.logger_object.log_error_to_main_log()
|
||||||
|
self.status_wrapper.set_error()
|
||||||
|
raise exc
|
||||||
|
|
||||||
# 3. Parses from line structure to nested structure with JSONConverter
|
# 3. Parses from line structure to nested structure with JSONConverter
|
||||||
|
try:
|
||||||
json_converter = LibreHTML2JSONConverter(bs_tags, footnotes, top_level_headers,
|
json_converter = LibreHTML2JSONConverter(bs_tags, footnotes, top_level_headers,
|
||||||
self.logger_object)
|
self.logger_object)
|
||||||
content_dict = json_converter.convert_to_dict()
|
content_dict = json_converter.convert_to_dict()
|
||||||
|
except Exception as exc:
|
||||||
|
self.logger_object.log(
|
||||||
|
"Error has occurred while converting .html to .json", logging.ERROR)
|
||||||
|
self.logger_object.log_error_to_main_log()
|
||||||
|
self.status_wrapper.set_error()
|
||||||
|
raise exc
|
||||||
return content_dict
|
return content_dict
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user