X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fivi.py;h=98d1d272a6bb5085dadae9c8233a0e2592571636;hb=4bbf139aa75cace056989411003e4a1b6b2616e7;hp=aa8b3b8a3f03e041cab9349e764d56fefb213074;hpb=77aa6b329da84335ac3f183e0ed04198b318a990;p=youtube-dl.git diff --git a/youtube_dl/extractor/ivi.py b/youtube_dl/extractor/ivi.py index aa8b3b8a3..98d1d272a 100644 --- a/youtube_dl/extractor/ivi.py +++ b/youtube_dl/extractor/ivi.py @@ -13,7 +13,7 @@ from ..utils import ( class IviIE(InfoExtractor): IE_DESC = u'ivi.ru' IE_NAME = u'ivi' - _VALID_URL = r'^https?://(?:www\.)?(?Pivi\.ru/watch(?:/(?P[^/]+))?/(?P\d+))' + _VALID_URL = r'^https?://(?:www\.)?ivi\.ru/watch(?:/(?P[^/]+))?/(?P\d+)' _TESTS = [ # Single movie @@ -27,6 +27,7 @@ class IviIE(InfoExtractor): u'duration': 5498, u'thumbnail': u'http://thumbs.ivi.ru/f20.vcp.digitalaccess.ru/contents/d/1/c3c885163a082c29bceeb7b5a267a6.jpg', }, + u'skip': u'Only works from Russia', }, # Serial's serie { @@ -38,6 +39,7 @@ class IviIE(InfoExtractor): u'duration': 2490, u'thumbnail': u'http://thumbs.ivi.ru/f7.vcp.digitalaccess.ru/contents/8/e/bc2f6c2b6e5d291152fdd32c059141.jpg', }, + u'skip': u'Only works from Russia', } ] @@ -82,14 +84,16 @@ class IviIE(InfoExtractor): result = video_json[u'result'] - formats = [{'url': x[u'url'], - 'format_id': x[u'content_format'] - } for x in result[u'files'] if x[u'content_format'] in self._known_formats] - formats.sort(key=lambda fmt: self._known_formats.index(fmt['format_id'])) + formats = [{ + 'url': x[u'url'], + 'format_id': x[u'content_format'], + 'preference': self._known_formats.index(x[u'content_format']), + } for x in result[u'files'] if x[u'content_format'] in self._known_formats] - if len(formats) == 0: - self._downloader.report_warning(u'No media links available for %s' % video_id) - return + self._sort_formats(formats) + + if not formats: + raise ExtractorError(u'No media links available for %s' % video_id) duration = result[u'duration'] compilation = result[u'compilation'] @@ -101,9 +105,7 @@ class IviIE(InfoExtractor): previews.sort(key=lambda fmt: self._known_thumbnails.index(fmt['content_format'])) thumbnail = previews[-1][u'url'] if len(previews) > 0 else None - video_page_url = 'http://' + mobj.group('url') - video_page = self._download_webpage(video_page_url, video_id, u'Downloading video page') - + video_page = self._download_webpage(url, video_id, u'Downloading video page') description = self._extract_description(video_page) comment_count = self._extract_comment_count(video_page)