about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2019-03-04 22:26:32 +0100
committerRemita Amine <remitamine@gmail.com>2019-03-04 22:26:55 +0100
commit5dcd630dca9b75ec2ca920ae7799252e0e0bb599 (patch)
tree4179092b800c1f93b61c0d506f45884af7b94941
parentc790e93ab5db5f318fb094b8a45f9160cdf4bd9b (diff)
downloadyoutube-dl-5dcd630dca9b75ec2ca920ae7799252e0e0bb599.tar.gz
youtube-dl-5dcd630dca9b75ec2ca920ae7799252e0e0bb599.tar.xz
youtube-dl-5dcd630dca9b75ec2ca920ae7799252e0e0bb599.zip
[paramountnetwork] fix mgid extraction(closes #20241)
-rw-r--r--youtube_dl/extractor/spike.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/youtube_dl/extractor/spike.py b/youtube_dl/extractor/spike.py
index 6090e0066..21b93a5b3 100644
--- a/youtube_dl/extractor/spike.py
+++ b/youtube_dl/extractor/spike.py
@@ -46,8 +46,12 @@ class ParamountNetworkIE(MTVServicesInfoExtractor):
     _GEO_COUNTRIES = ['US']
 
     def _extract_mgid(self, webpage):
-        cs = self._parse_json(self._search_regex(
+        root_data = self._parse_json(self._search_regex(
             r'window\.__DATA__\s*=\s*({.+})',
-            webpage, 'data'), None)['children']
-        c = next(c for c in cs if c.get('type') == 'VideoPlayer')
+            webpage, 'data'), None)
+
+        def find_sub_data(data, data_type):
+            return next(c for c in data['children'] if c.get('type') == data_type)
+
+        c = find_sub_data(find_sub_data(root_data, 'MainContainer'), 'VideoPlayer')
         return c['props']['media']['video']['config']['uri']