From 1b85698856a567f57c732015245ce316bf656dc2 Mon Sep 17 00:00:00 2001 From: Asger Geel Weirsoee Date: Tue, 6 Oct 2026 13:57:54 +0200 Subject: [PATCH] =?UTF-8?q?fix(yt):=20en=20dr=C3=A6bt=20hentning=20er=20mi?= =?UTF-8?q?dlertidig,=20ikke=20"ukendt=20fejl"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Når portalen genstarter midt i en hentning, bliver yt-dlp dræbt uden en fejltekst, og jobbet endte som "ukendt fejl". Et negativt returkode (signal) hedder nu "afbrudt" og prøves igen som de andre midlertidige fejl. Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG --- ytdl.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ytdl.py b/ytdl.py index 1806202..fca98a0 100644 --- a/ytdl.py +++ b/ytdl.py @@ -160,7 +160,11 @@ async def _attempt(job: dict, settings: dict, with_subs: bool, klient: str = "") stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE) stdout, stderr = await proc.communicate() if proc.returncode != 0: - err = (stderr.decode("utf-8", "replace").strip().splitlines() or ["ukendt fejl"])[-1] + if proc.returncode < 0: + # Dræbt udefra, typisk fordi portalen genstartede midt i hentningen. + return {"ok": False, "error": f"afbrudt (signal {-proc.returncode})"} + err = (stderr.decode("utf-8", "replace").strip().splitlines() + or [f"ukendt fejl (kode {proc.returncode})"])[-1] return {"ok": False, "error": err[:300]} # --print after_move giver én linje pr. hentet fil: id|upload_date|sti. @@ -185,7 +189,7 @@ async def _attempt(job: dict, settings: dict, with_subs: bool, klient: str = "") # Fejl der ofte går over af sig selv: YouTube afviser en enkelt forespørgsel # (403/429), eller forbindelsen falder. yt-dlp gentager ikke selv en 403. _MIDLERTIDIG = ("403", "forbidden", "429", "too many requests", "timed out", - "connection reset", "remote end closed", "temporary failure") + "connection reset", "remote end closed", "temporary failure", "afbrudt") # Forsøg: (pause før, YouTube-klient). Samme klient med stigende pause: testet # 2026-10-06 gav kun standardklienten 1080p (android_vr faldt til 360p, tv, # web_safari, mweb og tv_simply gav slet ingen formater), og 403'erne kom af