Skip to content

Commit 84e27c7

Browse files
committed
Fix indentation + CI fallback
1 parent 77b4fbb commit 84e27c7

File tree

1 file changed

+25
-23
lines changed

1 file changed

+25
-23
lines changed

src/translator.py

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -39,43 +39,45 @@ def translate(content: str) -> tuple[bool, str]:
3939
# Try to parse the JSON directly
4040
try:
4141
result = json.loads(response_text)
42-
is_english = result.get("is_english", True)
43-
translated_content = result.get("translated_content", "")
44-
return (is_english, translated_content)
42+
return (
43+
result.get("is_english", True),
44+
result.get("translated_content", "")
45+
)
4546

4647
except json.JSONDecodeError:
47-
# Fallback: try to extract a JSON-like substring if LLM added extra text
48+
# Fallback: try to extract a JSON-like substring
4849
json_match = re.search(
49-
r'\{[^}]"is_english"[^}]"translated_content"[^}]*\}',
50-
response_text,
51-
re.DOTALL
50+
r'\{[\s\S]*?"is_english"[\s\S]*?"translated_content"[\s\S]*?\}',
51+
response_text
5252
)
5353
if json_match:
5454
try:
5555
result = json.loads(json_match.group(0))
56-
is_english = result.get("is_english", True)
57-
translated_content = result.get("translated_content", "")
58-
return (is_english, translated_content)
59-
except json.JSONDecodeError:
56+
return (
57+
result.get("is_english", True),
58+
result.get("translated_content", "")
59+
)
60+
except:
6061
pass
6162

62-
# If parsing completely fails, assume input is English
6363
print(f"Warning: Could not parse LLM response: {response_text}")
64-
return (True, "")
64+
return True, ""
6565

6666
except Exception:
67-
# Chinese characters fallback --> this is bec gthub cl can't down;oad ollama
68-
if re.search(r"[\u4e00-\u9fff]", content):
69-
return False, "This is a Chinese message"
70-
71-
# Arabic characters fallback
72-
if re.search(r"[\u0600-\u06FF]", content):
73-
return False, "This is an Arabic message"
67+
# ----------------------------------------------------
68+
# FALLBACK LOGIC FOR CI (because Ollama isn't installed)
69+
# ----------------------------------------------------
7470

75-
# Default English fallback
76-
return True, ""
71+
# Chinese characters?
72+
if re.search(r"[\u4e00-\u9fff]", content):
73+
return False, "This is a Chinese message"
7774

75+
# Arabic characters?
76+
if re.search(r"[\u0600-\u06FF]", content):
77+
return False, "This is an Arabic message"
7878

79+
# Default fallback
80+
return True, ""
7981

8082

8183
def translate_content(content: str) -> dict:
@@ -87,4 +89,4 @@ def translate_content(content: str) -> dict:
8789
return {
8890
"isEnglish": is_english,
8991
"translatedContent": translated_content
90-
}
92+
}

0 commit comments

Comments
 (0)