mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-30 12:01:28 +00:00
Fix --load-info-json
of playlists with failed entries
This commit is contained in:
parent
e339d25a0d
commit
7c7f7161fc
|
@ -1504,10 +1504,12 @@ def __process_playlist(self, ie_result, download):
|
|||
|
||||
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 @@ def get_entry(i):
|
|||
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 @@ def get_entry(i):
|
|||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue