diff options
author | Remita Amine <remitamine@gmail.com> | 2019-03-04 22:26:32 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2019-03-04 22:26:55 +0100 |
commit | 5dcd630dca9b75ec2ca920ae7799252e0e0bb599 (patch) | |
tree | 4179092b800c1f93b61c0d506f45884af7b94941 /youtube_dl | |
parent | c790e93ab5db5f318fb094b8a45f9160cdf4bd9b (diff) |
[paramountnetwork] fix mgid extraction(closes #20241)
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/extractor/spike.py | 10 |
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'] |