]> jfr.im git - yt-dlp.git/commitdiff
Errors in playlist extraction should obey `--ignore-errors`
authorpukkandan <redacted>
Tue, 20 Jul 2021 19:30:46 +0000 (01:00 +0530)
committerpukkandan <redacted>
Tue, 20 Jul 2021 19:34:53 +0000 (01:04 +0530)
Related: https://github.com/yt-dlp/yt-dlp/issues/535#issuecomment-883277272, https://github.com/yt-dlp/yt-dlp/issues/518#issuecomment-881794754

yt_dlp/YoutubeDL.py

index acb508b9857e3a15d723a1efd8fa78b486dfdbfc..9da607b17cb3166e7c9906b22a1ad15b747f3c66 100644 (file)
@@ -1363,13 +1363,18 @@ def iter_playlistitems(format):
         if not isinstance(ie_entries, (list, PagedList)):
             ie_entries = LazyList(ie_entries)
 
+        def get_entry(i):
+            return YoutubeDL.__handle_extraction_exceptions(
+                lambda self, i: ie_entries[i - 1]
+            )(self, i)
+
         entries = []
         for i in playlistitems or itertools.count(playliststart):
             if playlistitems is None and playlistend is not None and playlistend < i:
                 break
             entry = None
             try:
-                entry = ie_entries[i - 1]
+                entry = get_entry(i)
                 if entry is None:
                     raise EntryNotInPlaylist()
             except (IndexError, EntryNotInPlaylist):