diff --git a/docutranslate/app.py b/docutranslate/app.py index 03b0f55..9977096 100644 --- a/docutranslate/app.py +++ b/docutranslate/app.py @@ -441,10 +441,11 @@ async def _perform_translation( ) converter_config = None if payload.convert_engine == 'mineru': - converter_config = ConverterMineruConfig(mineru_token=payload.mineru_token, + converter_config = ConverterMineruConfig(logger=task_logger, mineru_token=payload.mineru_token, formula_ocr=payload.formula_ocr) elif payload.convert_engine == 'docling' and DOCLING_EXIST: - converter_config = ConverterDoclingConfig(code_ocr=payload.code_ocr, formula_ocr=payload.formula_ocr) + converter_config = ConverterDoclingConfig(logger=task_logger, code_ocr=payload.code_ocr, + formula_ocr=payload.formula_ocr) html_exporter_config = MD2HTMLExporterConfig(cdn=True) workflow_config = MarkdownBasedWorkflowConfig( convert_engine=payload.convert_engine, converter_config=converter_config, @@ -1192,4 +1193,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/cacher/md_based_convert_cacher.py b/docutranslate/cacher/md_based_convert_cacher.py index 213bf2a..a1c4948 100644 --- a/docutranslate/cacher/md_based_convert_cacher.py +++ b/docutranslate/cacher/md_based_convert_cacher.py @@ -13,8 +13,13 @@ class MDBasedCovertCacher: self.cache_dict = OrderedDict() @staticmethod - def _get_hashcode(document: Document, convert_engin: str, convert_config: ConverterConfig) -> str: - obj = (document.suffix, document.content, convert_engin, convert_config.gethash()) + def _get_hashcode(document: Document, convert_engin: str, convert_config: ConverterConfig|None) -> str: + if convert_config : + convert_config_hash=convert_config.gethash() + else: + convert_config_hash=None + + obj = (document.suffix, document.content, convert_engin, convert_config_hash) return str(hash(obj)) def get_cached_result(self, document: Document, convert_engin: str, diff --git a/docutranslate/converter/base.py b/docutranslate/converter/base.py index 1c32396..80e1117 100644 --- a/docutranslate/converter/base.py +++ b/docutranslate/converter/base.py @@ -10,16 +10,19 @@ from docutranslate.logger import global_logger @dataclass(kw_only=True) class ConverterConfig(ABC): logger: Logger | None = None - @abstractmethod - def gethash(self)->Hashable: - ... + @abstractmethod + def gethash(self) -> Hashable: + ... class Converter(ABC): def __init__(self, config: ConverterConfig | None = None): self.config = config - self.logger = config.logger or global_logger + if config: + self.logger = config.logger or global_logger + else: + self.logger = global_logger @abstractmethod def convert(self, document: Document) -> Document: diff --git a/docutranslate/converter/x2md/converter_mineru.py b/docutranslate/converter/x2md/converter_mineru.py index fd670de..6d3ac21 100644 --- a/docutranslate/converter/x2md/converter_mineru.py +++ b/docutranslate/converter/x2md/converter_mineru.py @@ -37,11 +37,10 @@ client_async = httpx.AsyncClient(trust_env=False, timeout=timeout, proxy=None, v class ConverterMineru(X2MarkdownConverter): - def __init__(self, config: ConverterMineruConfig, logger: Logger = global_logger): + def __init__(self, config: ConverterMineruConfig): super().__init__(config=config) self.mineru_token = config.mineru_token.strip() self.formula = config.formula_ocr - self.logger = logger def _get_header(self): return { diff --git a/docutranslate/static/index.html b/docutranslate/static/index.html index 99a3a8e..b491080 100644 --- a/docutranslate/static/index.html +++ b/docutranslate/static/index.html @@ -1 +1 @@ -
GitHub主页(欢迎star❤):
https://github.com/xunbu/docutranslate
交流QQ群: 1047781902
当前没有任务,点击“新建任务”开始吧!
等待提交...
点击或拖拽文件到此处
GitHub主页(欢迎star❤):
https://github.com/xunbu/docutranslate
交流QQ群: 1047781902
当前没有任务,点击“新建任务”开始吧!
等待提交...
点击或拖拽文件到此处