X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fninegag.py;h=00bf98ef5fa9700350a354a437d6b3d3649f36f3;hb=6b8ce312e3cb7d81e949cd5c64ad2a824d27830b;hp=eee65873a456aac716f0dc89f56703df3962881a;hpb=de3fc356e1597b31c8f0a55a7bf7e201ae436c66;p=youtube-dl diff --git a/youtube_dl/extractor/ninegag.py b/youtube_dl/extractor/ninegag.py index eee65873a..00bf98ef5 100644 --- a/youtube_dl/extractor/ninegag.py +++ b/youtube_dl/extractor/ninegag.py @@ -68,8 +68,13 @@ class NineGagIE(InfoExtractor): post_view = json.loads(self._html_search_regex( r'var postView = new app\.PostView\({\s*post:\s*({.+?}),\s*posts:\s*prefetchedCurrentPost', webpage, 'post view')) - external_video_id = post_view['videoExternalId'] - external_video_provider = post_view['videoExternalProvider'] + ie_key = None + source_url = post_view.get('sourceUrl') + if not source_url or source_url == '': + external_video_id = post_view['videoExternalId'] + external_video_provider = post_view['videoExternalProvider'] + source_url = self._EXTERNAL_VIDEO_PROVIDER[external_video_provider]['url'] % external_video_id + ie_key = self._EXTERNAL_VIDEO_PROVIDER[external_video_provider]['ie_key'] title = post_view['title'] description = post_view['description'] view_count = str_to_int(post_view['externalView']) @@ -77,8 +82,8 @@ class NineGagIE(InfoExtractor): return { '_type': 'url_transparent', - 'url': self._EXTERNAL_VIDEO_PROVIDER[external_video_provider]['url'] % external_video_id, - 'ie_key': self._EXTERNAL_VIDEO_PROVIDER[external_video_provider]['ie_key'], + 'url': source_url, + 'ie_key': ie_key, 'id': video_id, 'display_id': display_id, 'title': title,