diff --git a/youtube_dl/extractor/nzonscreen.py b/youtube_dl/extractor/nzonscreen.py index c18d4952e..2ecf184f9 100644 --- a/youtube_dl/extractor/nzonscreen.py +++ b/youtube_dl/extractor/nzonscreen.py @@ -13,12 +13,11 @@ class NZOnScreenIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?nzonscreen\.com/title/(?P<id>[^/]+)' _TEST = { 'url': 'https://www.nzonscreen.com/title/watermark-2001', - 'md5': '7743cb2c319c27357bc75dd8bcde5d11', + 'md5': '9d8885fb0d8aeae80a15e7191e54230a', 'info_dict': { 'id': 'watermark-2001', 'ext': 'm4v', 'title': 'Watermark', - 'description': 'md5:c654662c3985fb0cef75812fbb378174', } } @@ -26,7 +25,6 @@ class NZOnScreenIE(InfoExtractor): video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) - # TODO more code goes here, for example ... title = self._html_search_regex(r'<h1 class=\'hero-video__title\'>(.+?)</h1>', webpage, 'title') main_clip = self._html_search_regex(r'data-video-config=\'(.+?)\'', @@ -34,7 +32,7 @@ class NZOnScreenIE(InfoExtractor): main_clip = json.loads(main_clip) clips = self._html_search_regex(r'<div class=\'grid js_clip_selector (clip-selector)\'', - webpage, 'clips', 0) + webpage, 'clips', default=False) if clips: clips_list = self._download_json('https://www.nzonscreen.com/html5/video_data/' + video_id, @@ -49,19 +47,29 @@ class NZOnScreenIE(InfoExtractor): clip_id = len(entries) entries.append({ - 'id': "%s-clip_%d_of_%d" % (video_id, clip_id + 1, len(clips_list)), + 'id': '%s_part_%d' % (video_id, clip_id+1), 'title': title, - 'description': self._og_search_description(webpage), 'url': url, 'formats': [], }) - for fmt in ["h264", "flv"]: - for definition in ["hd", "hi", "lo"]: + for fmt in ["flv", "h264"]: + for definition in ["lo", "hi", "hd"]: if clip[fmt][definition + "_res_mb"]: entries[clip_id]["formats"].append({ 'format_id': '%s-%s' % (fmt, definition), 'url': clip[fmt][definition + "_res"], }) - return self.playlist_result(entries, video_id, title, self._og_search_description(webpage)) \ No newline at end of file + if len(entries) == 1: + info = entries[0] + info['id'] = video_id + else: + info = { + '_type': 'multi_video', + 'entries': entries, + 'id': video_id, + 'title': title, + } + + return info \ No newline at end of file