X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fstatigram.py;h=d602e817a076cbfbdfb5c50da8e3b1f23583b8d0;hb=9d2ecdbc712d4e500dd0207041392b143082ad00;hp=95d2ee3c046fa70289fc5ab07e7062db7a66f047;hpb=825e0984e27f0c626c4d072066e0c9cae9069704;p=youtube-dl diff --git a/youtube_dl/extractor/statigram.py b/youtube_dl/extractor/statigram.py index 95d2ee3c0..d602e817a 100644 --- a/youtube_dl/extractor/statigram.py +++ b/youtube_dl/extractor/statigram.py @@ -1,33 +1,38 @@ +from __future__ import unicode_literals + import re from .common import InfoExtractor + class StatigramIE(InfoExtractor): - _VALID_URL = r'(?:http://)?(?:www\.)?statigr\.am/p/([^/]+)' + _VALID_URL = r'https?://(www\.)?statigr\.am/p/(?P[^/]+)' + _TEST = { + 'url': 'http://statigr.am/p/522207370455279102_24101272', + 'md5': '6eb93b882a3ded7c378ee1d6884b1814', + 'info_dict': { + 'id': '522207370455279102_24101272', + 'ext': 'mp4', + 'uploader_id': 'aguynamedpatrick', + 'title': 'Instagram photo by @aguynamedpatrick (Patrick Janelle)', + }, + } def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) - video_id = mobj.group(1) + video_id = mobj.group('id') webpage = self._download_webpage(url, video_id) - video_url = self._html_search_regex( - r'', - webpage, u'video URL') - thumbnail_url = self._html_search_regex( - r'', - webpage, u'thumbnail URL', fatal=False) html_title = self._html_search_regex( r'(.+?)', - webpage, u'title') - title = html_title.rpartition(u' | Statigram')[0] + webpage, 'title') + title = re.sub(r'(?: *\(Videos?\))? \| Statigram$', '', html_title) uploader_id = self._html_search_regex( - r'@([^ ]+)', title, u'uploader name', fatal=False) - ext = 'mp4' + r'@([^ ]+)', title, 'uploader name', fatal=False) - return [{ - 'id': video_id, - 'url': video_url, - 'ext': ext, - 'title': title, - 'thumbnail': thumbnail_url, - 'uploader_id' : uploader_id - }] + return { + 'id': video_id, + 'url': self._og_search_video_url(webpage), + 'title': title, + 'thumbnail': self._og_search_thumbnail(webpage), + 'uploader_id': uploader_id + }