]> jfr.im git - yt-dlp.git/commitdiff
[extractor/urplay] Extract all subtitles (#7309)
authorhoaluvn <redacted>
Wed, 14 Jun 2023 15:52:17 +0000 (17:52 +0200)
committerGitHub <redacted>
Wed, 14 Jun 2023 15:52:17 +0000 (21:22 +0530)
Authored by: hoaluvn

yt_dlp/extractor/urplay.py
yt_dlp/utils/_utils.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 = []
index 4179d58c162058880044e31fb25142560720a4fe..64621011653145f8ce9ff9f6eac13fa0f48262be 100644 (file)
@@ -4147,6 +4147,7 @@ class ISO639Utils:
         'or': 'ori',
         'os': 'oss',
         'pa': 'pan',
+        'pe': 'per',
         'pi': 'pli',
         'pl': 'pol',
         'ps': 'pus',