adding latest documentation and changes to the script.
This commit is contained in:
@@ -21,7 +21,7 @@ else:
|
||||
from extractor import extract_audio, embed_subtitles
|
||||
from transcriber import transcribe_audio, save_as_srt, load_whisper_model
|
||||
from translator import translate_with_auto_fallback
|
||||
from utils import validate_and_repair_srt, check_srt_duration_match, GracefulKiller, ensure_ollama_running, check_service_availability, check_path_permissions
|
||||
from utils import validate_and_repair_srt, check_srt_duration_match, GracefulKiller, ensure_ollama_running, check_service_availability, check_path_permissions, LANGUAGE_MAP
|
||||
from diarizer import diarize_audio, merge_diarization_with_transcript
|
||||
import tracker
|
||||
from tracker import JobStatus
|
||||
@@ -75,6 +75,7 @@ def process_file(file_path, args, source_lang=None, loaded_model=None, service_s
|
||||
transcript_exists = os.path.exists(transcript_file) and not args.force
|
||||
|
||||
final_srt_path = transcript_file
|
||||
detected_iso = None
|
||||
|
||||
if transcript_exists:
|
||||
tracker.logger.info(f"Transcript exists: {transcript_file}. Skipping transcription.")
|
||||
@@ -84,6 +85,7 @@ def process_file(file_path, args, source_lang=None, loaded_model=None, service_s
|
||||
# Use loaded_model if available
|
||||
result = transcribe_audio(audio_path, model_size=args.model, language=source_lang, loaded_model=loaded_model)
|
||||
segments = result["segments"]
|
||||
detected_iso = result.get("language")
|
||||
|
||||
if args.diarize:
|
||||
hf_token = args.hf_token or os.getenv("HF_TOKEN")
|
||||
@@ -122,8 +124,16 @@ def process_file(file_path, args, source_lang=None, loaded_model=None, service_s
|
||||
translation_success = False
|
||||
method_used = "None"
|
||||
|
||||
# Check existing
|
||||
if (os.path.exists(base_translated) or os.path.exists(deep_translated) or os.path.exists(local_translated)) and not args.force:
|
||||
# Check if source language matches target language
|
||||
target_iso = LANGUAGE_MAP.get(args.lang)
|
||||
if detected_iso and target_iso and detected_iso == target_iso:
|
||||
tracker.logger.info(f"Source language '{detected_iso}' matches target '{target_iso}'. Skipping translation.")
|
||||
final_srt_path = transcript_file
|
||||
translation_success = True
|
||||
method_used = "Source Match"
|
||||
|
||||
# Check existing (if not already handled by match)
|
||||
elif (os.path.exists(base_translated) or os.path.exists(deep_translated) or os.path.exists(local_translated)) and not args.force:
|
||||
if os.path.exists(local_translated):
|
||||
translated_file = local_translated
|
||||
method_used = "Local LLM (Existing)"
|
||||
|
||||
Reference in New Issue
Block a user