From 388435aea49226731314a0da578de5fe5172d91b Mon Sep 17 00:00:00 2001 From: Scott Leggett Date: Mon, 5 Sep 2016 22:41:08 +1000 Subject: [PATCH 1/2] Fix ninenow extractor. --- youtube_dl/extractor/ninenow.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/ninenow.py b/youtube_dl/extractor/ninenow.py index faa577237..3ad63a73b 100644 --- a/youtube_dl/extractor/ninenow.py +++ b/youtube_dl/extractor/ninenow.py @@ -29,11 +29,11 @@ class NineNowIE(InfoExtractor): 'skip': 'Only available in Australia', }, { # episode - 'url': 'https://www.9now.com.au/afl-footy-show/2016/episode-19', + 'url': 'https://www.9now.com.au/afl-footy-show/2016/episode-26', 'only_matching': True, }, { # DRM protected - 'url': 'https://www.9now.com.au/andrew-marrs-history-of-the-world/season-1/episode-1', + 'url': 'https://www.9now.com.au/black-adder-goes-forth/season-4/episode-5', 'only_matching': True, }] BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/4460760524001/default_default/index.html?videoId=%s' @@ -44,7 +44,14 @@ class NineNowIE(InfoExtractor): page_data = self._parse_json(self._search_regex( r'window\.__data\s*=\s*({.*?});', webpage, 'page data'), display_id) - common_data = page_data.get('episode', {}).get('episode') or page_data.get('clip', {}).get('clip') + current_key = ( + page_data.get('episode', {}).get('currentEpisodeKey', {}) or + page_data.get('clip', {}).get('currentClipKey', {}) + ) + common_data = ( + page_data.get('episode', {}).get('episodeCache', {}).get(current_key, {}).get('episode') or + page_data.get('clip', {}).get('clipCache', {}).get(current_key, {}).get('clip') + ) video_data = common_data['video'] if video_data.get('drm'): From f4f25d45b034ff9c4f25a9d6a1761fe5c917ce3a Mon Sep 17 00:00:00 2001 From: Scott Leggett Date: Mon, 5 Sep 2016 23:51:56 +1000 Subject: [PATCH 2/2] Remove redundant empty dict fallback for current_key. --- youtube_dl/extractor/ninenow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/ninenow.py b/youtube_dl/extractor/ninenow.py index 3ad63a73b..2589692b5 100644 --- a/youtube_dl/extractor/ninenow.py +++ b/youtube_dl/extractor/ninenow.py @@ -45,8 +45,8 @@ class NineNowIE(InfoExtractor): r'window\.__data\s*=\s*({.*?});', webpage, 'page data'), display_id) current_key = ( - page_data.get('episode', {}).get('currentEpisodeKey', {}) or - page_data.get('clip', {}).get('currentClipKey', {}) + page_data.get('episode', {}).get('currentEpisodeKey') or + page_data.get('clip', {}).get('currentClipKey') ) common_data = ( page_data.get('episode', {}).get('episodeCache', {}).get(current_key, {}).get('episode') or