Fix for SKIP_IF_TO_TRANSCRIBE_SUB_ALREADY_EXIST
This commit is contained in:
19
subgen.py
19
subgen.py
@@ -1,4 +1,4 @@
|
|||||||
subgen_version = '2025.02.88'
|
subgen_version = '2025.02.89'
|
||||||
|
|
||||||
from language_code import LanguageCode
|
from language_code import LanguageCode
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@@ -936,12 +936,11 @@ def choose_transcribe_language(file_path, forced_language):
|
|||||||
|
|
||||||
audio_tracks = get_audio_tracks(file_path)
|
audio_tracks = get_audio_tracks(file_path)
|
||||||
|
|
||||||
found_track_in_language = find_language_audio_track(audio_tracks, preferred_audio_languages)
|
preferred_track_language = find_language_audio_track(audio_tracks, preferred_audio_languages)
|
||||||
if found_track_in_language:
|
|
||||||
language = found_track_in_language
|
if preferred_track_language:
|
||||||
if language:
|
logging.debug(f"Preferred language found: {preferred_track_language}")
|
||||||
logger.debug(f"Preferred language found: {language}")
|
return preferred_track_language
|
||||||
return language
|
|
||||||
|
|
||||||
default_language = find_default_audio_track_language(audio_tracks)
|
default_language = find_default_audio_track_language(audio_tracks)
|
||||||
if default_language:
|
if default_language:
|
||||||
@@ -1086,7 +1085,6 @@ def gen_subtitles_queue(file_path: str, transcription_type: str, force_language:
|
|||||||
'transcribe_or_translate': transcription_type,
|
'transcribe_or_translate': transcription_type,
|
||||||
'force_language': force_language
|
'force_language': force_language
|
||||||
}
|
}
|
||||||
task['force_language'] = force_language
|
|
||||||
task_queue.put(task)
|
task_queue.put(task)
|
||||||
logging.info(f"task_queue.put(task)({task['path']}, {task['transcribe_or_translate']}, {task['force_language']})")
|
logging.info(f"task_queue.put(task)({task['path']}, {task['transcribe_or_translate']}, {task['force_language']})")
|
||||||
|
|
||||||
@@ -1103,7 +1101,8 @@ def should_skip_file(file_path: str, target_language: LanguageCode) -> bool:
|
|||||||
"""
|
"""
|
||||||
base_name = os.path.basename(file_path)
|
base_name = os.path.basename(file_path)
|
||||||
file_name, file_ext = os.path.splitext(base_name)
|
file_name, file_ext = os.path.splitext(base_name)
|
||||||
|
if transcribe_or_translate == 'translate':
|
||||||
|
target_language = LanguageCode.ENGLISH # Force our target language as english if we are translating
|
||||||
# 1. Skip if it's an audio file and an LRC file already exists.
|
# 1. Skip if it's an audio file and an LRC file already exists.
|
||||||
if isAudioFileExtension(file_ext) and lrc_for_audio_files:
|
if isAudioFileExtension(file_ext) and lrc_for_audio_files:
|
||||||
lrc_path = os.path.join(os.path.dirname(file_path), f"{file_name}.lrc")
|
lrc_path = os.path.join(os.path.dirname(file_path), f"{file_name}.lrc")
|
||||||
@@ -1117,7 +1116,7 @@ def should_skip_file(file_path: str, target_language: LanguageCode) -> bool:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
# 3. Skip if a subtitle already exists in the target language.
|
# 3. Skip if a subtitle already exists in the target language.
|
||||||
if skip_if_to_transcribe_sub_already_exist and (has_subtitle_language(file_path, target_language) or has_subtitle_of_language_in_folder(file_path, target_language)):
|
if skip_if_to_transcribe_sub_already_exist and has_subtitle_language(file_path, target_language):
|
||||||
lang_name = target_language.to_name()
|
lang_name = target_language.to_name()
|
||||||
logging.info(f"Skipping {base_name}: Subtitles already exist in {lang_name}.")
|
logging.info(f"Skipping {base_name}: Subtitles already exist in {lang_name}.")
|
||||||
return True
|
return True
|
||||||
|
|||||||
Reference in New Issue
Block a user