From a250eb2b68fe09e8cdf8a994ec95b3dd4db5cea6 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Mon, 6 Jan 2025 18:56:22 -0800 Subject: [PATCH] fix: ensure url is not a video when determining if we are in a redirect --- brozzler/ydl.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/brozzler/ydl.py b/brozzler/ydl.py index 01c8b7b..5b645be 100644 --- a/brozzler/ydl.py +++ b/brozzler/ydl.py @@ -117,11 +117,17 @@ def _build_youtube_dl(worker, destdir, site, page): def process_ie_result(self, ie_result, download=True, extra_info=None): if extra_info is None: 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( 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: raise ExtractorError( f"Too many redirects for URL: {ie_result['url']}",