Merge branch 'adam/patch-yt-dlp-infinite-loop-bug' into qa

This commit is contained in:
Adam Miller 2025-01-06 18:56:48 -08:00
commit df20c17bb7

View File

@ -123,11 +123,17 @@ def _build_youtube_dl(worker, destdir, site, page):
def process_ie_result(self, ie_result, download=True, extra_info=None): def process_ie_result(self, ie_result, download=True, extra_info=None):
if extra_info is None: if extra_info is None:
extra_info = {} extra_info = {}
if "redirect_count" in extra_info: if (
"redirect_count" in extra_info
and "_type" in ie_result
and ie_result.get("_type") in ("url", "url_transparent")
):
self.logger.info( self.logger.info(
f"Following redirect URL: {ie_result['url']} redirect_count: {extra_info['redirect_count']}" f"Following redirect URL: {ie_result['url']} redirect_count: {extra_info['redirect_count']}"
) )
extra_info["redirect_count"] = 1 + extra_info.get("redirect_count", 0) extra_info["redirect_count"] = 1 + extra_info.get("redirect_count", 0)
else:
extra_info["redirect_count"] = 0
if extra_info["redirect_count"] > YTDLP_MAX_REDIRECTS: if extra_info["redirect_count"] > YTDLP_MAX_REDIRECTS:
raise ExtractorError( raise ExtractorError(
f"Too many redirects for URL: {ie_result['url']}", f"Too many redirects for URL: {ie_result['url']}",