tastelikefeet 1 year ago
parent
commit
7c7e0d1719
3 changed files with 6 additions and 6 deletions
  1. 1 1
      pdf2zh/gui.py
  2. 2 2
      pdf2zh/high_level.py
  3. 3 3
      pdf2zh/translator.py

+ 1 - 1
pdf2zh/gui.py

@@ -167,7 +167,7 @@ def translate_file(
     _envs = {}
     _envs = {}
     for i, env in enumerate(translator.envs.items()):
     for i, env in enumerate(translator.envs.items()):
         _envs[env[0]] = envs[i]
         _envs[env[0]] = envs[i]
-
+    
     print(f"Files before translation: {os.listdir(output)}")
     print(f"Files before translation: {os.listdir(output)}")
 
 
     def progress_bar(t: tqdm.tqdm):
     def progress_bar(t: tqdm.tqdm):

+ 2 - 2
pdf2zh/high_level.py

@@ -216,7 +216,7 @@ def translate_stream(
 
 
     fp = io.BytesIO()
     fp = io.BytesIO()
     doc_zh.save(fp)
     doc_zh.save(fp)
-    obj_patch: dict = translate_patch(fp, **locals())
+    obj_patch: dict = translate_patch(fp, envs=kwarg['envs'], **locals())
 
 
     for obj_id, ops_new in obj_patch.items():
     for obj_id, ops_new in obj_patch.items():
         # ops_old=doc_en.xref_stream(obj_id)
         # ops_old=doc_en.xref_stream(obj_id)
@@ -282,7 +282,7 @@ def translate(
 
 
         doc_raw = open(file, "rb")
         doc_raw = open(file, "rb")
         s_raw = doc_raw.read()
         s_raw = doc_raw.read()
-        s_mono, s_dual = translate_stream(s_raw, **locals())
+        s_mono, s_dual = translate_stream(s_raw, envs=kwarg['envs'], **locals())
         file_mono = Path(output) / f"{filename}-mono.pdf"
         file_mono = Path(output) / f"{filename}-mono.pdf"
         file_dual = Path(output) / f"{filename}-dual.pdf"
         file_dual = Path(output) / f"{filename}-dual.pdf"
         doc_mono = open(file_mono, "wb")
         doc_mono = open(file_mono, "wb")

+ 3 - 3
pdf2zh/translator.py

@@ -3,7 +3,7 @@ import logging
 import os
 import os
 import re
 import re
 import unicodedata
 import unicodedata
-
+from copy import copy
 import deepl
 import deepl
 import ollama
 import ollama
 import openai
 import openai
@@ -35,6 +35,7 @@ class BaseTranslator:
         self.model = model
         self.model = model
 
 
     def set_envs(self, envs):
     def set_envs(self, envs):
+        self.envs = copy(self.__class__.envs)
         for key in self.envs:
         for key in self.envs:
             if key in os.environ:
             if key in os.environ:
                 self.envs[key] = os.environ[key]
                 self.envs[key] = os.environ[key]
@@ -215,8 +216,7 @@ class OpenAITranslator(BaseTranslator):
         "OPENAI_MODEL": "gpt-4o-mini",
         "OPENAI_MODEL": "gpt-4o-mini",
     }
     }
 
 
-    def __init__(self, lang_in, lang_out, model, base_url=None, api_key=None, envs=None):
-        self.set_envs(envs)
+    def __init__(self, lang_in, lang_out, model, base_url=None, api_key=None):
         if not model:
         if not model:
             model = self.envs["OPENAI_MODEL"]
             model = self.envs["OPENAI_MODEL"]
         super().__init__(lang_in, lang_out, model)
         super().__init__(lang_in, lang_out, model)