aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/ninegag.py
diff options
context:
space:
mode:
authorremitamine <remitamine@gmail.com>2015-09-22 19:20:18 +0100
committerSergey M․ <dstftw@gmail.com>2015-09-23 01:39:06 +0600
commit6b8ce312e3cb7d81e949cd5c64ad2a824d27830b (patch)
treed6818fd3f2a716c1cae21236bc1a28d7f89ec7a5 /youtube_dl/extractor/ninegag.py
parentde3fc356e1597b31c8f0a55a7bf7e201ae436c66 (diff)
[ninegag] extract source url
Diffstat (limited to 'youtube_dl/extractor/ninegag.py')
-rw-r--r--youtube_dl/extractor/ninegag.py13
1 files changed, 9 insertions, 4 deletions
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,