]> jfr.im git - yt-dlp.git/commitdiff
Remove known invalid thumbnails from `info_dict`
authorpukkandan <redacted>
Sun, 19 Dec 2021 14:55:01 +0000 (20:25 +0530)
committerpukkandan <redacted>
Sun, 19 Dec 2021 14:55:01 +0000 (20:25 +0530)
Related: https://github.com/yt-dlp/yt-dlp/issues/980#issuecomment-997396821

yt_dlp/YoutubeDL.py

index ec69151d77b2cbbb76175abdcfd19e41d0dbe59e..b5a2581c649437e149b6b6d5099cda2c28109a99 100644 (file)
@@ -3685,7 +3685,7 @@ def _write_thumbnails(self, label, info_dict, filename, thumb_filename_base=None
             self.write_debug(f'Skipping writing {label} thumbnail')
             return ret
 
-        for t in thumbnails[::-1]:
+        for idx, t in list(enumerate(thumbnails))[::-1]:
             thumb_ext = (f'{t["id"]}.' if multiple else '') + determine_ext(t['url'], 'jpg')
             thumb_display_id = f'{label} thumbnail {t["id"]}'
             thumb_filename = replace_extension(filename, thumb_ext, info_dict.get('ext'))
@@ -3706,6 +3706,7 @@ def _write_thumbnails(self, label, info_dict, filename, thumb_filename_base=None
                     ret.append((thumb_filename, thumb_filename_final))
                     t['filepath'] = thumb_filename
                 except network_exceptions as err:
+                    thumbnails.pop(idx)
                     self.report_warning(f'Unable to download {thumb_display_id}: {err}')
             if ret and not write_all:
                 break