From 88d85e4df588cecfa332aa4bcc2dba3b567a3e82 Mon Sep 17 00:00:00 2001 From: awwaawwa <8493196+awwaawwa@users.noreply.github.com> Date: Sat, 28 Dec 2024 11:50:14 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=90=9B=20fix(cache):=20ensure=20trans?= =?UTF-8?q?late=20engine=20name=20length=20validation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add assertion to check that translate engine name is less than 20 characters - prevent potential issues with cache functionality --- pdf2zh/cache.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pdf2zh/cache.py b/pdf2zh/cache.py index c1daa34c..d186aa16 100644 --- a/pdf2zh/cache.py +++ b/pdf2zh/cache.py @@ -45,6 +45,7 @@ def _sort_dict_recursively(obj): return obj def __init__(self, translate_engine: str, translate_engine_params: dict = None): + assert len(translate_engine) < 20, 'current cache require translate engine name less than 20 characters' self.translate_engine = translate_engine self.replace_params(translate_engine_params) From 03c4883afa4219d0efbdd013ff4ef8dd222d514d Mon Sep 17 00:00:00 2001 From: awwaawwa <8493196+awwaawwa@users.noreply.github.com> Date: Sat, 28 Dec 2024 11:51:40 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(translator):?= =?UTF-8?q?=20Continue=20writing=20to=20cache=20after=20setting=20the=20ig?= =?UTF-8?q?nore=20cache=20flag.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pdf2zh/translator.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pdf2zh/translator.py b/pdf2zh/translator.py index 3f34de59..57b2a15a 100644 --- a/pdf2zh/translator.py +++ b/pdf2zh/translator.py @@ -78,8 +78,7 @@ def translate(self, text, ignore_cache=False): return cache translation = self.do_translate(text) - if not (self.ignore_cache or ignore_cache): - self.cache.set(text, translation) + self.cache.set(text, translation) return translation def do_translate(self, text): From 8738c958919a8ae3625c67c46e82e0f783f66c7d Mon Sep 17 00:00:00 2001 From: awwaawwa <8493196+awwaawwa@users.noreply.github.com> Date: Sat, 28 Dec 2024 11:53:10 +0800 Subject: [PATCH 3/4] format --- pdf2zh/cache.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pdf2zh/cache.py b/pdf2zh/cache.py index d186aa16..80d497be 100644 --- a/pdf2zh/cache.py +++ b/pdf2zh/cache.py @@ -45,7 +45,9 @@ def _sort_dict_recursively(obj): return obj def __init__(self, translate_engine: str, translate_engine_params: dict = None): - assert len(translate_engine) < 20, 'current cache require translate engine name less than 20 characters' + assert ( + len(translate_engine) < 20 + ), "current cache require translate engine name less than 20 characters" self.translate_engine = translate_engine self.replace_params(translate_engine_params) From 7850d321aa867e8813b99e78857f0959d50fc372 Mon Sep 17 00:00:00 2001 From: awwaawwa <8493196+awwaawwa@users.noreply.github.com> Date: Sat, 28 Dec 2024 11:57:51 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E2=9C=85=20test(test=5Ftranslator):=20fix?= =?UTF-8?q?=20cache=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/test_translator.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/test_translator.py b/test/test_translator.py index 44526ddd..ea9706c7 100644 --- a/test/test_translator.py +++ b/test/test_translator.py @@ -50,17 +50,17 @@ def test_add_cache_impact_parameters(self): self.assertNotEqual(first_result, second_result) # Test cache with ignore_cache=True - no_cache_result = translator.translate(text, ignore_cache=True) - self.assertNotEqual(first_result, no_cache_result) + no_cache_result1 = translator.translate(text, ignore_cache=True) + self.assertNotEqual(first_result, no_cache_result1) translator.ignore_cache = True - no_cache_result = translator.translate(text) - self.assertNotEqual(first_result, no_cache_result) + no_cache_result2 = translator.translate(text) + self.assertNotEqual(no_cache_result1, no_cache_result2) # Test cache with ignore_cache=False translator.ignore_cache = False cache_result = translator.translate(text) - self.assertEqual(second_result, cache_result) + self.assertEqual(no_cache_result2, cache_result) # Test cache with another parameter translator.add_cache_impact_parameters("test2", "value2")