]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/urplay.py
[extractor/urplay] Extract all subtitles (#7309)
[yt-dlp.git] / yt_dlp / extractor / urplay.py
index 5d69dadd67135fefc0e0218e4c40e908aeedb0bc..7f97fc95f50b50e0375d8b236ded834b897d1d3a 100644 (file)
@@ -112,18 +112,19 @@ def parse_lang_code(code):
                 lang = ISO639Utils.short2long(lang)
             return lang or None
 
-        for k, v in (urplayer_data['streamingInfo'].get('sweComplete') or {}).items():
-            if (k in ('sd', 'hd') or not isinstance(v, dict)):
-                continue
-            lang, sttl_url = (v.get(kk) for kk in ('language', 'location', ))
-            if not sttl_url:
-                continue
-            lang = parse_lang_code(lang)
-            if not lang:
-                continue
-            sttl = subtitles.get(lang) or []
-            sttl.append({'ext': k, 'url': sttl_url, })
-            subtitles[lang] = sttl
+        for stream in urplayer_data['streamingInfo'].values():
+            for k, v in stream.items():
+                if (k in ('sd', 'hd') or not isinstance(v, dict)):
+                    continue
+                lang, sttl_url = (v.get(kk) for kk in ('language', 'location', ))
+                if not sttl_url:
+                    continue
+                lang = parse_lang_code(lang)
+                if not lang:
+                    continue
+                sttl = subtitles.get(lang) or []
+                sttl.append({'ext': k, 'url': sttl_url, })
+                subtitles[lang] = sttl
 
         image = urplayer_data.get('image') or {}
         thumbnails = []