fix
This commit is contained in:
@@ -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()
|
||||
run_app()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user