fix
This commit is contained in:
@@ -20,13 +20,14 @@ from fastapi.responses import HTMLResponse, JSONResponse, StreamingResponse, Fil
|
|||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
from docutranslate.global_values.conditional_import import DOCLING_FLAG
|
from docutranslate.global_values.conditional_import import DOCLING_EXIST
|
||||||
# --- 核心代码重构后的新 Imports ---
|
# --- 核心代码重构后的新 Imports ---
|
||||||
from docutranslate.manager.base_manager import BaseManager
|
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.md_based_manager import MarkdownBasedManager
|
||||||
from docutranslate.manager.txt_manager import TXTManager
|
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_docling import ConverterDoclingConfig
|
||||||
from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig
|
from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig
|
||||||
from docutranslate.exporter.md2x.md2html_exporter import MD2HTMLExportConfig
|
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 import __version__
|
||||||
from docutranslate.global_values import available_packages
|
|
||||||
from docutranslate.logger import global_logger
|
from docutranslate.logger import global_logger
|
||||||
from docutranslate.translater import default_params
|
from docutranslate.translater import default_params
|
||||||
from docutranslate.utils.resource_utils import resource_path
|
from docutranslate.utils.resource_utils import resource_path
|
||||||
@@ -908,7 +908,7 @@ async def service_content(
|
|||||||
async def service_get_engin_list():
|
async def service_get_engin_list():
|
||||||
"""返回可用的文档解析引擎列表。"""
|
"""返回可用的文档解析引擎列表。"""
|
||||||
engin_list = ["mineru"]
|
engin_list = ["mineru"]
|
||||||
if available_packages.get("docling"):
|
if DOCLING_EXIST:
|
||||||
engin_list.append("docling")
|
engin_list.append("docling")
|
||||||
return JSONResponse(content=engin_list)
|
return JSONResponse(content=engin_list)
|
||||||
|
|
||||||
@@ -1115,4 +1115,4 @@ def run_app(port: int | None = None):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
run_app()
|
run_app()
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
from typing import Literal, TYPE_CHECKING
|
from typing import Literal, TYPE_CHECKING
|
||||||
|
|
||||||
from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig
|
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
|
from docutranslate.converter.x2md.converter_docling import ConverterDoclingConfig
|
||||||
|
|
||||||
convert_engin_type = Literal["mineru", "docling"]
|
convert_engin_type = Literal["mineru", "docling"]
|
||||||
|
|
||||||
if DOCLING_FLAG or TYPE_CHECKING:
|
if DOCLING_EXIST or TYPE_CHECKING:
|
||||||
x2md_convert_config_type = ConverterDoclingConfig | ConverterMineruConfig
|
x2md_convert_config_type = ConverterDoclingConfig | ConverterMineruConfig
|
||||||
else:
|
else:
|
||||||
x2md_convert_config_type = ConverterMineruConfig
|
x2md_convert_config_type = ConverterMineruConfig
|
||||||
|
|||||||
@@ -12,8 +12,7 @@ def conditional_import(packagename,alias=None):
|
|||||||
available_packages[packagename]=True
|
available_packages[packagename]=True
|
||||||
return True
|
return True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
# print(f"package:{packagename}不存在")
|
|
||||||
available_packages[packagename]=False
|
available_packages[packagename]=False
|
||||||
return 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 typing import Self, Literal, overload, TYPE_CHECKING
|
||||||
|
|
||||||
from docutranslate.cacher import md_based_convert_cacher
|
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_docling import ConverterDoclingConfig, ConverterDocling
|
||||||
from docutranslate.converter.x2md.converter_identity import ConverterIdentity
|
from docutranslate.converter.x2md.converter_identity import ConverterIdentity
|
||||||
from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig, ConverterMineru
|
from docutranslate.converter.x2md.converter_mineru import ConverterMineruConfig, ConverterMineru
|
||||||
@@ -23,7 +23,7 @@ class MarkdownBasedManager(BaseManager, HTMLExportable, MDFormatsExportable):
|
|||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*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]] = {
|
self._converter_factory: dict[str:tuple[X2MarkdownConverter, x2md_convert_config_type]] = {
|
||||||
"mineru": (ConverterMineru, ConverterMineruConfig),
|
"mineru": (ConverterMineru, ConverterMineruConfig),
|
||||||
"docling": (ConverterDocling, ConverterDoclingConfig)
|
"docling": (ConverterDocling, ConverterDoclingConfig)
|
||||||
|
|||||||
Reference in New Issue
Block a user