diff options
author | Remita Amine <remitamine@gmail.com> | 2021-04-08 18:53:36 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2021-04-08 18:54:44 +0100 |
commit | 27e5a4464d1d4c418d4937492e18a9d47d30fc50 (patch) | |
tree | 2459dfa07f780a09db5198ab9143fc5f570791b1 | |
parent | 545d6cb9d06a8bf32bcd24463c0fd25e650bb2c7 (diff) |
[mtv] Fix Viacom A/B Testing Video Player extraction(closes #28703)
-rw-r--r-- | youtube_dl/extractor/mtv.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/youtube_dl/extractor/mtv.py b/youtube_dl/extractor/mtv.py index 600cf2d89..5a5205c0e 100644 --- a/youtube_dl/extractor/mtv.py +++ b/youtube_dl/extractor/mtv.py @@ -255,7 +255,9 @@ class MTVServicesInfoExtractor(InfoExtractor): @staticmethod def _extract_child_with_type(parent, t): - return next(c for c in parent['children'] if c.get('type') == t) + for c in parent['children']: + if c.get('type') == t: + return c def _extract_mgid(self, webpage): try: @@ -286,7 +288,8 @@ class MTVServicesInfoExtractor(InfoExtractor): data = self._parse_json(self._search_regex( r'__DATA__\s*=\s*({.+?});', webpage, 'data'), None) main_container = self._extract_child_with_type(data, 'MainContainer') - video_player = self._extract_child_with_type(main_container, 'VideoPlayer') + ab_testing = self._extract_child_with_type(main_container, 'ABTesting') + video_player = self._extract_child_with_type(ab_testing or main_container, 'VideoPlayer') mgid = video_player['props']['media']['video']['config']['uri'] return mgid |