From 0de668af512f87315dd9e15717ce6c97050e3606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= Date: Mon, 10 Feb 2014 20:24:12 +0100 Subject: [PATCH] [instagram] Modernize --- youtube_dl/extractor/instagram.py | 40 +++++++++++++++++-------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/youtube_dl/extractor/instagram.py b/youtube_dl/extractor/instagram.py index 660573d02..63141af27 100644 --- a/youtube_dl/extractor/instagram.py +++ b/youtube_dl/extractor/instagram.py @@ -1,35 +1,39 @@ +from __future__ import unicode_literals + import re from .common import InfoExtractor + class InstagramIE(InfoExtractor): - _VALID_URL = r'(?:http://)?instagram\.com/p/(.*?)/' + _VALID_URL = r'http://instagram\.com/p/(?P.*?)/' _TEST = { - u'url': u'http://instagram.com/p/aye83DjauH/?foo=bar#abc', - u'file': u'aye83DjauH.mp4', - u'md5': u'0d2da106a9d2631273e192b372806516', - u'info_dict': { - u"uploader_id": u"naomipq", - u"title": u"Video by naomipq", - u'description': u'md5:1f17f0ab29bd6fe2bfad705f58de3cb8', + 'url': 'http://instagram.com/p/aye83DjauH/?foo=bar#abc', + 'md5': '0d2da106a9d2631273e192b372806516', + 'info_dict': { + 'id': 'aye83DjauH', + 'ext': 'mp4', + 'uploader_id': 'naomipq', + 'title': 'Video by naomipq', + 'description': 'md5:1f17f0ab29bd6fe2bfad705f58de3cb8', } } 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) uploader_id = self._search_regex(r'"owner":{"username":"(.+?)"', - webpage, u'uploader id', fatal=False) - desc = self._search_regex(r'"caption":"(.*?)"', webpage, u'description', + webpage, 'uploader id', fatal=False) + desc = self._search_regex(r'"caption":"(.*?)"', webpage, 'description', fatal=False) - return [{ - 'id': video_id, - 'url': self._og_search_video_url(webpage, secure=False), - 'ext': 'mp4', - 'title': u'Video by %s' % uploader_id, + return { + 'id': video_id, + 'url': self._og_search_video_url(webpage, secure=False), + 'ext': 'mp4', + 'title': 'Video by %s' % uploader_id, 'thumbnail': self._og_search_thumbnail(webpage), - 'uploader_id' : uploader_id, + 'uploader_id': uploader_id, 'description': desc, - }] + }