X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fstatigram.py;h=d602e817a076cbfbdfb5c50da8e3b1f23583b8d0;hb=912b38b428e882c1ab79b6537b94b30e3e3c1def;hp=25bf5b85ce205fb936a534cc6b79a5233bb7d593;hpb=427023a1e6f2bb45a61b2bbfd56f845ee0c0ffee;p=youtube-dl diff --git a/youtube_dl/extractor/statigram.py b/youtube_dl/extractor/statigram.py index 25bf5b85c..d602e817a 100644 --- a/youtube_dl/extractor/statigram.py +++ b/youtube_dl/extractor/statigram.py @@ -1,42 +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 = { - u'url': u'http://statigr.am/p/484091715184808010_284179915', - u'file': u'484091715184808010_284179915.mp4', - u'md5': u'deda4ff333abe2e118740321e992605b', - u'info_dict': { - u"uploader_id": u"videoseconds", - u"title": u"Instagram photo by @videoseconds (Videos)" - } + '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 + }