aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorzx900930 <[email protected]>2021-02-19 17:14:31 +0100
committerzx900930 <[email protected]>2021-02-19 17:14:31 +0100
commitcee1ce6214fb0432330d18813a560b5d49aa0322 (patch)
treefbfd33cf4aa4529b61d4067f0e0f63576298fa78
parent1aee4770ca572d933a8c7174c6ecd15bc90f65f9 (diff)
downloadbazarr-cee1ce6214fb0432330d18813a560b5d49aa0322.tar.gz
bazarr-cee1ce6214fb0432330d18813a560b5d49aa0322.zip
Fix false positive zh detection
-rw-r--r--bazarr/list_subtitles.py30
1 files changed, 15 insertions, 15 deletions
diff --git a/bazarr/list_subtitles.py b/bazarr/list_subtitles.py
index 891116798..9bdc97b5c 100644
--- a/bazarr/list_subtitles.py
+++ b/bazarr/list_subtitles.py
@@ -58,11 +58,11 @@ def store_subtitles(original_path, reversed_path):
brazilian_portuguese = [".pt-br", ".pob", "pb"]
brazilian_portuguese_forced = [".pt-br.forced", ".pob.forced", "pb.forced"]
- simplified_chinese_long = [".simplified"]
- simplified_chinese_short = [".chs", ".sc", ".zhs", "hans", ".gb", u"简", u"双语"]
+ simplified_chinese_fuzzy = ["hans", u"简", u"双语"]
+ simplified_chinese = [".chs", ".sc", ".zhs", ".gb",".simplified"]
simplified_chinese_forced = [".chs.forced", ".sc.forced", ".zhs.forced", "hans.forced", ".gb.forced", u"简体中文.forced", u"双语.forced"]
- traditional_chinese_long = [".traditional"]
- traditional_chinese_short = [".cht", ".tc", ".zh-tw", ".zht", "hant", "big5", u"繁", u"雙語"]
+ traditional_chinese_fuzzy = ["hant", u"繁", u"雙語"]
+ traditional_chinese = [".cht", ".tc", ".zh-tw", ".zht", ".big5", ".traditional"]
traditional_chinese_forced = [".cht.forced", ".tc.forced", ".zht.forced", "hant.forced", ".big5.forced", u"繁體中文.forced", u"雙語.forced", "zh-tw.forced"]
try:
@@ -91,7 +91,7 @@ def store_subtitles(original_path, reversed_path):
logging.debug("BAZARR external subtitles detected: " + "pb:forced")
actual_subtitles.append(
[str("pb:forced"), path_mappings.path_replace_reverse(subtitle_path)])
- elif any(ext in (str(subtitle_path).lower())[:-7] for ext in simplified_chinese_short) or (str(subtitle_path).lower())[:-11] in simplified_chinese_long:
+ elif str(os.path.splitext(subtitle)[0]).lower().endswith(tuple(simplified_chinese)) or (str(subtitle_path).lower())[:-7] in simplified_chinese_fuzzy:
logging.debug("BAZARR external subtitles detected: " + "zh")
actual_subtitles.append(
[str("zh"), path_mappings.path_replace_reverse(subtitle_path)])
@@ -99,7 +99,7 @@ def store_subtitles(original_path, reversed_path):
logging.debug("BAZARR external subtitles detected: " + "zh:forced")
actual_subtitles.append(
[str("zh:forced"), path_mappings.path_replace_reverse(subtitle_path)])
- elif any(ext in (str(subtitle_path).lower())[:-7] for ext in traditional_chinese_short) or (str(subtitle_path).lower())[:-12] in traditional_chinese_long:
+ elif str(os.path.splitext(subtitle)[0]).lower().endswith(tuple(traditional_chinese)) or (str(subtitle_path).lower())[:-7] in traditional_chinese_fuzzy:
logging.debug("BAZARR external subtitles detected: " + "zt")
actual_subtitles.append(
[str("zt"), path_mappings.path_replace_reverse(subtitle_path)])
@@ -172,11 +172,11 @@ def store_subtitles_movie(original_path, reversed_path):
brazilian_portuguese = [".pt-br", ".pob", "pb"]
brazilian_portuguese_forced = [".pt-br.forced", ".pob.forced", "pb.forced"]
- simplified_chinese_long = [".simplified"]
- simplified_chinese_short = [".chs", ".sc", ".zhs", "hans", ".gb", u"简", u"双语"]
+ simplified_chinese_fuzzy = ["hans", u"简", u"双语"]
+ simplified_chinese = [".chs", ".sc", ".zhs", ".gb",".simplified"]
simplified_chinese_forced = [".chs.forced", ".sc.forced", ".zhs.forced", "hans.forced", ".gb.forced", u"简体中文.forced", u"双语.forced"]
- traditional_chinese_long = [".traditional"]
- traditional_chinese_short = [".cht", ".tc", ".zh-tw", ".zht", "hant", "big5", u"繁", u"雙語"]
+ traditional_chinese_fuzzy = ["hant", u"繁", u"雙語"]
+ traditional_chinese = [".cht", ".tc", ".zh-tw", ".zht", ".big5", ".traditional"]
traditional_chinese_forced = [".cht.forced", ".tc.forced", ".zht.forced", "hant.forced", ".big5.forced", u"繁體中文.forced", u"雙語.forced", "zh-tw.forced"]
try:
dest_folder = get_subtitle_destination_folder() or ''
@@ -201,13 +201,13 @@ def store_subtitles_movie(original_path, reversed_path):
elif str(os.path.splitext(subtitle)[0]).lower().endswith(tuple(brazilian_portuguese_forced)):
logging.debug("BAZARR external subtitles detected: " + "pb:forced")
actual_subtitles.append([str("pb:forced"), path_mappings.path_replace_reverse_movie(subtitle_path)])
- elif any(ext in (str(subtitle_path).lower())[:-7] for ext in simplified_chinese_short) or (str(subtitle_path).lower())[:-11] in simplified_chinese_long:
+ elif str(os.path.splitext(subtitle)[0]).lower().endswith(tuple(simplified_chinese)) or (str(subtitle_path).lower())[:-7] in simplified_chinese_fuzzy:
logging.debug("BAZARR external subtitles detected: " + "zh")
actual_subtitles.append([str("zh"), path_mappings.path_replace_reverse_movie(subtitle_path)])
elif any(ext in (str(os.path.splitext(subtitle)[0]).lower())[-12:] for ext in simplified_chinese_forced):
logging.debug("BAZARR external subtitles detected: " + "zh:forced")
actual_subtitles.append([str("zh:forced"), path_mappings.path_replace_reverse_movie(subtitle_path)])
- elif any(ext in (str(subtitle_path).lower())[:-7] for ext in traditional_chinese_short) or (str(subtitle_path).lower())[:-12] in traditional_chinese_long:
+ elif str(os.path.splitext(subtitle)[0]).lower().endswith(tuple(traditional_chinese)) or (str(subtitle_path).lower())[:-7] in traditional_chinese_fuzzy:
logging.debug("BAZARR external subtitles detected: " + "zt")
actual_subtitles.append([str("zt"), path_mappings.path_replace_reverse_movie(subtitle_path)])
elif any(ext in (str(os.path.splitext(subtitle)[0]).lower())[-12:] for ext in traditional_chinese_forced):
@@ -549,9 +549,9 @@ def guess_external_subtitles(dest_folder, subtitles):
detected_language = guess_language(text)
#add simplified and traditional chinese detection
if detected_language == 'zh':
- traditional_chinese_long = [".traditional"]
- traditional_chinese_short = [".cht", ".tc", ".zh-tw", ".zht", "hant", "big5", u"繁", u"雙語"]
- if any(ext in (str(subtitle_path).lower())[:-7] for ext in traditional_chinese_short) or (str(subtitle_path).lower())[:-12] in traditional_chinese_long:
+ traditional_chinese_fuzzy = ["hant", u"繁", u"雙語"]
+ traditional_chinese = [".cht", ".tc", ".zh-tw", ".zht", ".big5", ".traditional"]
+ if str(os.path.splitext(subtitle)[0]).lower().endswith(tuple(traditional_chinese)) or (str(subtitle_path).lower())[:-7] in traditional_chinese_fuzzy:
detected_language == 'zt'
except UnicodeDecodeError:
detector = Detector()