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:
parent
ba61434798
commit
0413455ea5
1 changed files with 74 additions and 79 deletions
|
|
@ -56,6 +56,18 @@ def available_tracks(info):
|
|||
return manual, original
|
||||
|
||||
|
||||
def no_track_message(info, lang):
|
||||
"""Explain that no usable track exists for `lang` (None: original language)."""
|
||||
manual, original = available_tracks(info)
|
||||
wanted = f"„{lang}“" if lang else "der Originalsprache"
|
||||
return (
|
||||
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 '–'}"
|
||||
)
|
||||
|
||||
|
||||
def download(url, track, is_auto, target_base):
|
||||
"""Download one subtitle track; yt-dlp writes <target_base>.<track>.vtt."""
|
||||
command = [
|
||||
|
|
@ -103,13 +115,7 @@ def main():
|
|||
|
||||
chosen = choose_track(info, args.lang)
|
||||
if chosen is None:
|
||||
manual, original = available_tracks(info)
|
||||
raise SystemExit(
|
||||
f"Keine Untertitel in „{args.lang}“ (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, args.lang))
|
||||
track, is_auto = chosen
|
||||
kind = "automatische" if is_auto else "manuelle"
|
||||
print(f"Lade {kind} Untertitel „{track}“ …", flush=True)
|
||||
|
|
|
|||
Loading…
Reference in a new issue