diff --git a/docutranslate/app.py b/docutranslate/app.py index 104fc82..507ea19 100644 --- a/docutranslate/app.py +++ b/docutranslate/app.py @@ -20,13 +20,14 @@ from fastapi.responses import HTMLResponse, JSONResponse, StreamingResponse, Fil from fastapi.staticfiles import StaticFiles from pydantic import BaseModel, Field -from docutranslate.global_values.conditional_import import DOCLING_FLAG +from docutranslate.global_values.conditional_import import DOCLING_EXIST # --- 核心代码重构后的新 Imports --- from docutranslate.manager.base_manager import BaseManager +from docutranslate.manager.interfaces import HTMLExportable, MDFormatsExportable, TXTExportable from docutranslate.manager.md_based_manager import MarkdownBasedManager from docutranslate.manager.txt_manager import TXTManager -from docutranslate.manager.interfaces import HTMLExportable, MDFormatsExportable, TXTExportable -if DOCLING_FLAG or TYPE_CHECKING: + +if DOCLING_EXIST or TYPE_CHECKING: from docutranslate.converter.x2md.converter_docling import ConverterDoclingConfig from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig from docutranslate.exporter.md2x.md2html_exporter import MD2HTMLExportConfig @@ -37,7 +38,6 @@ from docutranslate.translater.txt_translator import TXTTranslateConfig # ------------------------------------ from docutranslate import __version__ -from docutranslate.global_values import available_packages from docutranslate.logger import global_logger from docutranslate.translater import default_params from docutranslate.utils.resource_utils import resource_path @@ -908,7 +908,7 @@ async def service_content( async def service_get_engin_list(): """返回可用的文档解析引擎列表。""" engin_list = ["mineru"] - if available_packages.get("docling"): + if DOCLING_EXIST: engin_list.append("docling") return JSONResponse(content=engin_list) @@ -1115,4 +1115,4 @@ def run_app(port: int | None = None): if __name__ == "__main__": - run_app() \ No newline at end of file + run_app() diff --git a/docutranslate/exporter/md2x/types.py b/docutranslate/exporter/md2x/types.py index 656f0c2..a483241 100644 --- a/docutranslate/exporter/md2x/types.py +++ b/docutranslate/exporter/md2x/types.py @@ -1,14 +1,14 @@ from typing import Literal, TYPE_CHECKING from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig -from docutranslate.global_values.conditional_import import DOCLING_FLAG +from docutranslate.global_values.conditional_import import DOCLING_EXIST -if DOCLING_FLAG or TYPE_CHECKING: +if DOCLING_EXIST or TYPE_CHECKING: from docutranslate.converter.x2md.converter_docling import ConverterDoclingConfig convert_engin_type = Literal["mineru", "docling"] -if DOCLING_FLAG or TYPE_CHECKING: +if DOCLING_EXIST or TYPE_CHECKING: x2md_convert_config_type = ConverterDoclingConfig | ConverterMineruConfig else: x2md_convert_config_type = ConverterMineruConfig diff --git a/docutranslate/global_values/conditional_import.py b/docutranslate/global_values/conditional_import.py index 1ef31f5..6c2ad0f 100644 --- a/docutranslate/global_values/conditional_import.py +++ b/docutranslate/global_values/conditional_import.py @@ -12,8 +12,7 @@ def conditional_import(packagename,alias=None): available_packages[packagename]=True return True except ImportError: - # print(f"package:{packagename}不存在") available_packages[packagename]=False return False -DOCLING_FLAG=conditional_import("docling") +DOCLING_EXIST=conditional_import("docling") diff --git a/docutranslate/manager/md_based_manager.py b/docutranslate/manager/md_based_manager.py index 0f77f4a..da9cf8f 100644 --- a/docutranslate/manager/md_based_manager.py +++ b/docutranslate/manager/md_based_manager.py @@ -3,9 +3,9 @@ from pathlib import Path from typing import Self, Literal, overload, TYPE_CHECKING from docutranslate.cacher import md_based_convert_cacher -from docutranslate.global_values.conditional_import import DOCLING_FLAG +from docutranslate.global_values.conditional_import import DOCLING_EXIST -if DOCLING_FLAG or TYPE_CHECKING: +if DOCLING_EXIST or TYPE_CHECKING: from docutranslate.converter.x2md.converter_docling import ConverterDoclingConfig, ConverterDocling from docutranslate.converter.x2md.converter_identity import ConverterIdentity from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig, ConverterMineru @@ -23,7 +23,7 @@ class MarkdownBasedManager(BaseManager, HTMLExportable, MDFormatsExportable): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - if DOCLING_FLAG or TYPE_CHECKING: + if DOCLING_EXIST or TYPE_CHECKING: self._converter_factory: dict[str:tuple[X2MarkdownConverter, x2md_convert_config_type]] = { "mineru": (ConverterMineru, ConverterMineruConfig), "docling": (ConverterDocling, ConverterDoclingConfig)