Annot.[HTML->Html, _]

This commit is contained in:
Kiryl
2022-09-06 16:36:35 +03:00
parent ddc45e2d04
commit 83939e43cb
9 changed files with 22 additions and 23 deletions

View File

@@ -7,11 +7,10 @@ from typing import Union
from threading import Event
from bs4 import BeautifulSoup
from src.util.helpers import BookLogger
class Docx2LibreHTML:
class Docx2LibreHtml:
def __init__(self, book_id: int = 0, file_path: Union[pathlib.PosixPath, str] = None,
access=None, logger: BookLogger = None, libre_locker: Event = None):
self.book_id = book_id if book_id != 0 else pathlib.Path(

View File

@@ -7,9 +7,9 @@ from src.book_solver import BookSolver
from src.util.helpers import BookLogger
from src.html_preprocessor import HtmlPreprocessor
from src.style_preprocessor import StylePreprocessor
from src.docx_converter.docx2libre_html import Docx2LibreHTML
from src.docx_converter.html_docx_processor import HTMLDocxProcessor
from src.docx_converter.libre_html2json_converter import LibreHTML2JSONConverter
from src.docx_converter.docx2libre_html import Docx2LibreHtml
from src.docx_converter.html_docx_processor import HtmlDocxProcessor
from src.docx_converter.libre_html2json_converter import LibreHtml2JsonConverter
class DocxBook(BookSolver):
@@ -38,7 +38,7 @@ class DocxBook(BookSolver):
"""
# 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)
except Exception as exc:
self.logger_object.log(
@@ -52,7 +52,7 @@ class DocxBook(BookSolver):
html_preprocessor = HtmlPreprocessor(
logger=self.logger_object, preset_path="presets/docx_presets.json")
style_preprocessor = StylePreprocessor()
html_processor = HTMLDocxProcessor(html_soup=html_converter.html_soup,
html_processor = HtmlDocxProcessor(html_soup=html_converter.html_soup,
logger=self.logger_object,
html_preprocessor=html_preprocessor,
style_preprocessor=style_preprocessor)
@@ -67,7 +67,7 @@ class DocxBook(BookSolver):
# 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)
content_dict = json_converter.convert_to_dict()
except Exception as exc:
@@ -86,18 +86,18 @@ if __name__ == "__main__":
locker = Event()
locker.set()
html_converter = Docx2LibreHTML(file_path=docx_file_path,
html_converter = Docx2LibreHtml(file_path=docx_file_path,
logger=logger_object, libre_locker=locker)
html_preprocessor = HtmlPreprocessor(
logger=logger_object, preset_path="../../presets/docx_presets.json")
style_preprocessor = StylePreprocessor()
html_processor = HTMLDocxProcessor(html_soup=html_converter.html_soup, logger=logger_object,
html_processor = HtmlDocxProcessor(html_soup=html_converter.html_soup, logger=logger_object,
html_preprocessor=html_preprocessor, style_preprocessor=style_preprocessor)
content, footnotes, top_level_headers = html_processor.process_html(
html_path=html_converter.html_path, book_id=html_converter.book_id)
json_converter = LibreHTML2JSONConverter(
json_converter = LibreHtml2JsonConverter(
content, footnotes, top_level_headers, logger_object)
content_dict = json_converter.convert_to_dict()

View File

@@ -3,7 +3,7 @@ from typing import List
from bs4 import BeautifulSoup, Tag, NavigableString
def _clean_footnote_content(content: str) -> str:
def clean_footnote_content(content: str) -> str:
content = content.strip()
return content.strip()
@@ -66,7 +66,7 @@ def process_footnotes(body_tag: Tag) -> List[str]:
else:
unicode_string += child.decode_contents()
content = _clean_footnote_content(unicode_string)
content = clean_footnote_content(unicode_string)
cont_tag.decompose()
footnotes.append(content)

View File

@@ -11,7 +11,7 @@ from src.docx_converter.footnotes_processing import process_footnotes
from src.tag_inline_style_processor import modify_html_soup_with_css_styles
class HTMLDocxProcessor:
class HtmlDocxProcessor:
def __init__(self, logger: BookLogger, html_soup: BeautifulSoup, html_preprocessor, style_preprocessor):
self.logger = logger
self.html_soup = html_soup

View File

@@ -7,7 +7,7 @@ from bs4 import Tag
from src.livecarta_config import LiveCartaConfig
class LibreHTML2JSONConverter:
class LibreHtml2JsonConverter:
def __init__(self, content: List[Tag], footnotes: List[str], top_level_headers: List[Dict[str, Union[str, bool]]],
logger_object, book_api_status=None):
self.content_dict = None