Browse Source

[paramountnetwork] fix mgid extraction(closes #20241)

Remita Amine 6 years ago
parent
commit
5dcd630dca
1 changed files with 7 additions and 3 deletions
  1. 7 3
      youtube_dl/extractor/spike.py

+ 7 - 3
youtube_dl/extractor/spike.py

@@ -46,8 +46,12 @@ class ParamountNetworkIE(MTVServicesInfoExtractor):
     _GEO_COUNTRIES = ['US']
     _GEO_COUNTRIES = ['US']
 
 
     def _extract_mgid(self, webpage):
     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*({.+})',
             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']
         return c['props']['media']['video']['config']['uri']