'only_matching': True,
}, {
# DRM protected
- 'url': 'https://www.9now.com.au/afl-footy-show/2016/episode-19',
+ 'url': 'https://www.9now.com.au/andrew-marrs-history-of-the-world/season-1/episode-1',
'only_matching': True,
}]
BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/4460760524001/default_default/index.html?videoId=%s'
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')
+
+ for kind in ('episode', 'clip'):
+ current_key = page_data.get(kind, {}).get(
+ 'current%sKey' % kind.capitalize())
+ if not current_key:
+ continue
+ cache = page_data.get(kind, {}).get('%sCache' % kind, {})
+ if not cache:
+ continue
+ common_data = (cache.get(current_key) or list(cache.values())[0])[kind]
+ break
+ else:
+ raise ExtractorError('Unable to find video data')
+
video_data = common_data['video']
if video_data.get('drm'):