diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 059c3c9..305bc7c 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -6,8 +6,11 @@ + + + + - - + @@ -388,6 +371,7 @@ + @@ -398,7 +382,7 @@ - + diff --git a/README.md b/README.md index d205d24..4011ab3 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ translater.translate_file("<文件路径>", to_lang="中文",refine=True) ```python from docutranslate import FileTranslater -from docutranslate.Agents import MDRefineAgent, MDTranslateAgent +from docutranslate.agents import MDRefineAgent, MDTranslateAgent translater = FileTranslater() diff --git a/docutranslate/Agents/__init__.py b/docutranslate/agents/__init__.py similarity index 100% rename from docutranslate/Agents/__init__.py rename to docutranslate/agents/__init__.py diff --git a/docutranslate/Agents/agent.py b/docutranslate/agents/agent.py similarity index 97% rename from docutranslate/Agents/agent.py rename to docutranslate/agents/agent.py index bbfafea..46dbeba 100644 --- a/docutranslate/Agents/agent.py +++ b/docutranslate/agents/agent.py @@ -5,6 +5,8 @@ from typing import TypedDict import httpx +from docutranslate.logger import translater_logger + class AgentArgs(TypedDict, total=False): baseurl: str @@ -97,7 +99,7 @@ class Agent: ) nonlocal count count += 1 - print(f"进行到{count}/{total}") + translater_logger.info(f"进行到{count}/{total}") return result for p_text in prompts: diff --git a/docutranslate/Agents/markdown_agent.py b/docutranslate/agents/markdown_agent.py similarity index 100% rename from docutranslate/Agents/markdown_agent.py rename to docutranslate/agents/markdown_agent.py diff --git a/docutranslate/translater.py b/docutranslate/translater.py index 68b293a..389af4c 100644 --- a/docutranslate/translater.py +++ b/docutranslate/translater.py @@ -5,12 +5,12 @@ from typing import Literal import markdown2 from docling.datamodel.document import DocumentStream -from docutranslate.Agents import Agent, AgentArgs -from docutranslate.Agents import MDRefineAgent, MDTranslateAgent +from docutranslate.agents import Agent, AgentArgs +from docutranslate.agents import MDRefineAgent, MDTranslateAgent from docutranslate.utils.convert import file2markdown_embed_images from docutranslate.utils.markdown_splitter import split_markdown_text from docutranslate.utils.markdown_utils import uris2placeholder, placeholder2_uris, MaskDict - +from docutranslate.logger import translater_logger # import mdformat @@ -58,7 +58,7 @@ class FileTranslater: def _split_markdown_into_chunks(self) -> list[str]: chunks: list[str] = split_markdown_text(self.markdown, self.chunksize) - print(f"markdown分为{len(chunks)}块") + translater_logger.info(f"markdown分为{len(chunks)}块") return chunks def default_agent_params(self) -> AgentArgs: @@ -81,9 +81,9 @@ class FileTranslater: if file_path.suffix == ".md": self.markdown = file.decode() else: - print(f"正在将{file_path.resolve().name}转换为markdown") + translater_logger.info(f"正在将{file_path.resolve().name}转换为markdown") self.markdown = file2markdown_embed_images(ds, formula, code, artifacts_path=self.docling_artifact) - print("已转换为markdown") + translater_logger.info(f"已转换为markdown") if refine: self.refine_markdown_by_agent(refine_agent) if save: @@ -98,19 +98,20 @@ class FileTranslater: refine_agent: Agent | None = None): if file_path is None: if self.file_path is None: + translater_logger.debug("未设置文件路径") raise Exception("未设置文件路径") file_path = self.file_path if isinstance(file_path, str): file_path = Path(file_path) - print(f"读取文件:{file_path.name}") + translater_logger.info(f"读取文件:{file_path.name}") # 如果是markdown,直接读取 if file_path.suffix == ".md": with open(file_path, "r") as f: self.markdown = f.read() else: - print(f"正在将{file_path.resolve().name}转换为markdown") + translater_logger.info(f"正在将{file_path.resolve().name}转换为markdown") self.markdown = file2markdown_embed_images(file_path, formula, code, artifacts_path=self.docling_artifact) - print("已转换为markdown") + translater_logger.info("已转换为markdown") if refine: self.refine_markdown_by_agent(refine_agent) if save: @@ -121,7 +122,7 @@ class FileTranslater: return self def refine_markdown_by_agent(self, refine_agent: Agent | None = None) -> str: - print("正在修正markdown") + translater_logger.info("正在修正markdown") self._mask_uris_in_markdown() chuncks = self._split_markdown_into_chunks() if refine_agent is None: @@ -129,11 +130,11 @@ class FileTranslater: result: list[str] = refine_agent.send_prompts(chuncks) self.markdown = "\n".join(result) self._unmask_uris_in_markdown() - print("markdown已修正") + translater_logger.info("markdown已修正") return self.markdown def translate_markdown_by_agent(self, translate_agent: Agent | None = None, to_lang="中文"): - print("正在翻译markdown") + translater_logger.info("正在翻译markdown") self._mask_uris_in_markdown() chuncks = self._split_markdown_into_chunks() if translate_agent is None: @@ -141,7 +142,7 @@ class FileTranslater: result: list[str] = translate_agent.send_prompts(chuncks) self.markdown = "\n".join(result) self._unmask_uris_in_markdown() - print("翻译完成") + translater_logger.info("翻译完成") return self.markdown def save_as_markdown(self, filename: str | Path | None = None, output_dir: str | Path = "./output"): @@ -161,7 +162,7 @@ class FileTranslater: self._markdown_format() with open(full_name, "w") as file: file.write(self.markdown) - print(f"文件已写入{full_name.resolve()}") + translater_logger.info(f"文件已写入{full_name.resolve()}") return self def export_to_markdown(self): @@ -185,7 +186,7 @@ class FileTranslater: html = self.export_to_html(str(filename.resolve().stem)) with open(full_name, "w") as file: file.write(html) - print(f"文件已写入{full_name.resolve()}") + translater_logger.info(f"文件已写入{full_name.resolve()}") return self def export_to_html(self, title="title") -> str: diff --git a/pyproject.toml b/pyproject.toml index 8ddf0d9..03656ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "docutranslate" -version = "0.1.7.dev" +version = "0.1.7" description = "文件翻译工具" readme = "README.md" requires-python = ">=3.10"