refactor: Spur-Fehlermeldung und yt-dlp-Fake gemeinsam nutzen

- yt_untertitel.no_track_message() für yt_untertitel.py und extract_text.py
- tests/conftest.py: Fixtures fake_yt_dlp und yt_dlp_installed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-10 19:52:20 +02:00
commit 0413455ea5

View file

@ -8,7 +8,7 @@ import tempfile
from vtt2txt import vtt_to_lines
from yt_untertitel import (
YT_DLP, available_tracks, choose_track, download, fetch_info, original_language,
YT_DLP, choose_track, download, fetch_info, no_track_message, original_language,
)
@ -43,14 +43,7 @@ def main():
lang = args.lang or original_language(info)
chosen = choose_track(info, lang) if lang else None
if chosen is None:
manual, original = available_tracks(info)
wanted = f"„{lang}“" if lang else "der Originalsprache"
raise SystemExit(
f"Keine Untertitel in {wanted} (weder manuell noch automatisch in "
f"Originalsprache).\n"
f"Manuell: {', '.join(manual) or '–'}\n"
f"Automatisch (Originalsprache): {', '.join(original) or '–'}"
)
raise SystemExit(no_track_message(info, lang))
track, is_auto = chosen
kind = "automatische" if is_auto else "manuelle"
print(f"Lade {kind} Untertitel „{track}“ …", flush=True)