From 50a252d3b70eb1007709c1e30e52fa58e80188c5 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Sun, 10 Aug 2025 11:48:29 +0300 Subject: [PATCH] pop out missing subtitle --- get_youtube_videos/get_youtube_videos.py | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/get_youtube_videos/get_youtube_videos.py b/get_youtube_videos/get_youtube_videos.py index 0785a38..9c17ee7 100644 --- a/get_youtube_videos/get_youtube_videos.py +++ b/get_youtube_videos/get_youtube_videos.py @@ -419,6 +419,39 @@ class GetYoutubeVideos: ) self.summary['videos_with_error'] += 1 break + elif 'Unable to download video subtitles for' in f"{error}": + subtitle_match = re.match( + r"Unable to download video subtitles for '([a-z]*)' ", + f"{error}" + ) + if not subtitle_match: + self._log.error( + f"Error finding subtitle that failed in error string" + ) + else: + ydl_opts['subtitleslangs'].pop(subtitle_match.group(1)) + 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",