From b0d280678dc3219a44c3010e1e4d3f48fa7d5448 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Sat, 13 Sep 2025 18:46:50 +0300 Subject: [PATCH] Define max number of proxy errors --- get_youtube_videos/get_youtube_videos.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/get_youtube_videos/get_youtube_videos.py b/get_youtube_videos/get_youtube_videos.py index 64abc59..5bc08c8 100644 --- a/get_youtube_videos/get_youtube_videos.py +++ b/get_youtube_videos/get_youtube_videos.py @@ -169,6 +169,12 @@ class GetYoutubeVideos: self._default_data['proxies'][self.selected_proxy]['failures'] += 1 previous_proxy = self.selected_proxy for proxy in self._default_data['proxies']: + if self.config['max_proxy_failures'] < self._default_data['proxies'][proxy]['failures']: + self._log.error( + "Reached the maximum number of proxy failures (%s)", + self.config['max_proxy_failures'] + ) + return False if ( less_failures == -1 or self._default_data['proxies'][proxy]['failures'] < less_failures @@ -675,6 +681,12 @@ class GetYoutubeVideos: default=60*60*24*7, help='Max age in seconds for the cache' ) +@click.option( + '--max-proxy-failures', + '-A', + default=3, + help='Maximum number of failures for proxies to reach' +) @click_config_file.configuration_option() def __main__(**kwargs): obj = GetYoutubeVideos(**kwargs)