0
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-22 02:15:12 +00:00

Retry thumbnail download on network errors

This commit is contained in:
ClosedPort22 2023-09-21 17:05:49 +09:00
parent 9d6254069c
commit 2778499143
No known key found for this signature in database

View file

@ -4260,13 +4260,12 @@ def _write_thumbnails(self, label, info_dict, filename, thumb_filename_base=None
else:
self.to_screen(f'[info] Downloading {thumb_display_id} ...')
try:
uf = self.urlopen(Request(t['url'], headers=t.get('http_headers', {})))
thumb_copy = t.copy()
self.to_screen(f'[info] Writing {thumb_display_id} to: {thumb_filename}')
with open(encodeFilename(thumb_filename), 'wb') as thumbf:
shutil.copyfileobj(uf, thumbf)
self.dl(thumb_filename, thumb_copy)
ret.append((thumb_filename, thumb_filename_final))
t['filepath'] = thumb_filename
except network_exceptions as err:
except (DownloadError, ExtractorError, IOError, OSError, ValueError) + network_exceptions as err:
if isinstance(err, HTTPError) and err.status == 404:
self.to_screen(f'[info] {thumb_display_id.title()} does not exist')
else: