From c5ede0c21f403b09cfb79bce82d40577901a59ce Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Fri, 20 Jun 2025 23:51:56 +0200 Subject: [PATCH] test for format error --- get_youtube_videos/get_youtube_videos.py | 39 +++++++++++++++++++----- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/get_youtube_videos/get_youtube_videos.py b/get_youtube_videos/get_youtube_videos.py index c0771a3..8dfbb44 100644 --- a/get_youtube_videos/get_youtube_videos.py +++ b/get_youtube_videos/get_youtube_videos.py @@ -324,13 +324,38 @@ class GetYoutubeVideos: } ) except yt_dlp.utils.DownloadError as error: - self._log.error( - "Error getting video with proxy '%s'. %s", - self.selected_proxy, - error - ) - self.summary['videos_with_error'] += 1 - break + if 'Requested format is not available' in f"{error}": + ydl_opts['format'] = 'bestvideo+bestaudio[ext=m4a]/best' + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + try: + uri=f"https://www.youtube.com/watch?v={video_id}" + return_code = ydl.download(uri) + self._process_download( + { + "return_code": return_code, + 'info_dict': { + 'id': video_id, + }, + 'filename': video_info.get('title', '?'), + 'video_info': video_info, + } + ) + except yt_dlp.utils.DownloadError as sub_error: + self._log.error( + "Error getting video with proxy '%s'. %s", + self.selected_proxy, + sub_error + ) + self.summary['videos_with_error'] += 1 + break + else: + self._log.error( + "Error getting video with proxy '%s'. %s", + self.selected_proxy, + error + ) + self.summary['videos_with_error'] += 1 + break self.summary['downloaded_videos_titles'].append(video_info.get('title', '?')) self.summary['downloaded_videos'] += 1 else: