1
mirror of https://github.com/yt-dlp/yt-dlp synced 2024-11-04 09:27:50 +01:00

Fix --load-info-json of playlists with failed entries

This commit is contained in:
pukkandan 2021-11-13 17:30:33 +05:30
parent e339d25a0d
commit 7c7f7161fc
No known key found for this signature in database
GPG Key ID: 0F00D95A001F4698

View File

@ -1504,10 +1504,12 @@ class YoutubeDL(object):
if 'entries' not in ie_result:
raise EntryNotInPlaylist('There are no entries')
MissingEntry = object()
incomplete_entries = bool(ie_result.get('requested_entries'))
if incomplete_entries:
def fill_missing_entries(entries, indices):
ret = [None] * max(indices)
ret = [MissingEntry] * max(indices)
for i, entry in zip(indices, entries):
ret[i - 1] = entry
return ret
@ -1561,7 +1563,7 @@ class YoutubeDL(object):
entry = None
try:
entry = get_entry(i)
if entry is None:
if entry is MissingEntry:
raise EntryNotInPlaylist()
except (IndexError, EntryNotInPlaylist):
if incomplete_entries:
@ -1655,7 +1657,6 @@ class YoutubeDL(object):
self.report_error(
'Skipping the remaining entries in playlist "%s" since %d items failed extraction' % (playlist, failures))
break
# TODO: skip failed (empty) entries?
playlist_results.append(entry_result)
ie_result['entries'] = playlist_results