X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fninegag.py;h=16a02ad7939082627ffb9edd41d7bf6e62fd1f6d;hb=9e1a5b845586a0a5431fb72467142046d8571e6f;hp=ea986c00e7b1170e883978b82cfde8f0e22d8dd0;hpb=db4da140273d119e6f75445ee6f8cc286523b63e;p=youtube-dl diff --git a/youtube_dl/extractor/ninegag.py b/youtube_dl/extractor/ninegag.py index ea986c00e..16a02ad79 100644 --- a/youtube_dl/extractor/ninegag.py +++ b/youtube_dl/extractor/ninegag.py @@ -1,43 +1,67 @@ -import json +from __future__ import unicode_literals + import re +import json from .common import InfoExtractor +from ..utils import str_to_int class NineGagIE(InfoExtractor): IE_NAME = '9gag' - _VALID_URL = r'^https?://(?:www\.)?9gag\.tv/v/(?P[0-9]+)' - - _TEST = { - u"url": u"http://9gag.tv/v/1912", - u"file": u"1912.mp4", - u"info_dict": { - u"description": u"This 3-minute video will make you smile and then make you feel untalented and insignificant. Anyway, you should share this awesomeness. (Thanks, Dino!)", - u"title": u"\"People Are Awesome 2013\" Is Absolutely Awesome" + _VALID_URL = r'''(?x)^https?://(?:www\.)?9gag\.tv/ + (?: + v/(?P[0-9]+)| + p/(?P[a-zA-Z0-9]+)/(?P[^?#/]+) + ) + ''' + + _TESTS = [{ + "url": "http://9gag.tv/v/1912", + "info_dict": { + "id": "1912", + "ext": "mp4", + "description": "This 3-minute video will make you smile and then make you feel untalented and insignificant. Anyway, you should share this awesomeness. (Thanks, Dino!)", + "title": "\"People Are Awesome 2013\" Is Absolutely Awesome", + "view_count": int, + "thumbnail": "re:^https?://", + }, + 'add_ie': ['Youtube'] + }, { + 'url': 'http://9gag.tv/p/KklwM/alternate-banned-opening-scene-of-gravity?ref=fsidebar', + 'info_dict': { + 'id': 'KklwM', + 'ext': 'mp4', + 'display_id': 'alternate-banned-opening-scene-of-gravity', + "description": "While Gravity was a pretty awesome movie already, YouTuber Krishna Shenoi came up with a way to improve upon it, introducing a much better solution to Sandra Bullock's seemingly endless tumble in space. The ending is priceless.", + 'title': "Banned Opening Scene Of \"Gravity\" That Changes The Whole Movie", }, - u'add_ie': [u'Youtube'] - } + }] def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') + video_id = mobj.group('numid') or mobj.group('id') + display_id = mobj.group('display_id') or video_id + + webpage = self._download_webpage(url, display_id) - webpage = self._download_webpage(url, video_id) - data_json = self._html_search_regex(r'''(?x) -