From fb3b011b9eea4110f106849974c006eb8b33f5fe Mon Sep 17 00:00:00 2001 From: Tomas Kracmar Date: Sun, 5 Oct 2025 15:22:49 +0200 Subject: [PATCH] Fixing RSS --- app/rss_ingest.py | 2 +- app/worker.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/rss_ingest.py b/app/rss_ingest.py index 6d1b338..e015fc6 100644 --- a/app/rss_ingest.py +++ b/app/rss_ingest.py @@ -24,7 +24,7 @@ MEDIA_EXTS = {".mp3", ".m4a", ".flac", ".wav", ".ogg", ".opus", ".mp4", ".m4v", TITLE_MATCH_THRESHOLD = float(os.getenv("RSS_TITLE_MATCH_THRESHOLD", "0.60")) # Download podcast audio (enclosures) to a local library -# Default to saving directly under LIB (no extra "Podcasts" subfolder) +# Default to LIB; compose maps rss container's /library to the host audio root PODCASTS_ROOT = Path(os.getenv("PODCASTS_ROOT", str(LIB))) PODCASTS_PER_SHOW = os.getenv("PODCASTS_PER_SHOW", "true").lower() in {"1","true","yes","y"} DOWNLOAD_AUDIO = os.getenv("RSS_DOWNLOAD_AUDIO", "true").lower() in {"1","true","yes","y"} diff --git a/app/worker.py b/app/worker.py index 4f1ac5c..202191a 100644 --- a/app/worker.py +++ b/app/worker.py @@ -2001,6 +2001,14 @@ def transcribe_job(path_str: str): print(f"[pause] transcribe_job: pause is active; skipping start for {path_str}", flush=True) return "paused" p = Path(path_str) + if not p.exists(): + # Underlying file moved or deleted; skip gracefully instead of crashing ffmpeg. + try: + log({"path": path_str, "status": "skip", "reason": "file_not_found"}) + except Exception: + pass + print(f"[transcribe] missing input; skipping job: {p}", flush=True) + return "missing" try: base = transcribe(p) except PauseInterrupt: