From c98271c78008d6b4a59ad7a04040031f2efeb278 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Fri, 3 Jan 2025 16:39:15 -0800 Subject: [PATCH] fix: Raise when redirect loop detected --- yt_dlp/extractor/generic.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py index 320a47772b..504cba8859 100644 --- a/yt_dlp/extractor/generic.py +++ b/yt_dlp/extractor/generic.py @@ -54,6 +54,7 @@ class GenericIE(InfoExtractor): _VALID_URL = r'.*' IE_NAME = 'generic' _NETRC_MACHINE = False # Suppress username warning + visited_redirect_urls = set() _TESTS = [ # Direct link to a video { @@ -2153,6 +2154,12 @@ class GenericIE(InfoExtractor): def report_following_redirect(self, new_url): """Report information extraction.""" self._downloader.to_screen(f'[redirect] Following redirect to {new_url}') + if new_url in self.visited_redirect_urls: + raise ExtractorError( + f"Redirect loop detected for URL: {new_url}", + expected=True, + ) + self.visited_redirect_urls.add(new_url) def report_detected(self, name, num=1, note=None): if num > 1: