]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/bilibili.py
[cleanup] Misc fixes
[yt-dlp.git] / yt_dlp / extractor / bilibili.py
index dd1ff512ebe8b7e5b92464ddd9804f6f42ef377c..3212f33285ead6264fc6408b4907d2471b4daa80 100644 (file)
@@ -926,9 +926,9 @@ def _real_extract(self, url):
         if season_id and not video_data:
             # Non-Bstation layout, read through episode list
             season_json = self._call_api(f'/web/v2/ogv/play/episodes?season_id={season_id}&platform=web', video_id)
-            video_data = next(
-                episode for episode in traverse_obj(season_json, ('sections', ..., 'episodes', ...), expected_type=dict)
-                if str(episode.get('episode_id')) == ep_id)
+            video_data = traverse_obj(season_json,
+                                      ('sections', ..., 'episodes', lambda _, v: str(v['episode_id']) == ep_id),
+                                      expected_type=dict, get_all=False)
         return self._extract_video_info(video_data, ep_id=ep_id, aid=aid)