From de66764e4e3c0fe32bb6b7b8830da5ab6481003a Mon Sep 17 00:00:00 2001 From: "M.Yasoob Khalid" Date: Sun, 23 Jun 2013 17:35:19 +0500 Subject: [PATCH 1/3] added StatigrIE --- youtube_dl/InfoExtractors.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index cd91c13f5..6788bf402 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -4552,6 +4552,30 @@ def _real_extract(self, url): 'description': video_description, } +class StatigrIE(InfoExtractor): + _VALID_URL = r'(?:http://)?(?:www\.)?statigr\.am/p/([^/]+)' + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + if mobj is None: + raise ExtractorError(u'Invalid URL: %s' % url) + video_id = mobj.group(1) + webpage = self._download_webpage(url, video_id) + video_url = re.search(r'',webpage).group(1) + thumbnail_url = re.search(r'',webpage).group(1) + title = (re.search(r'(.+?)',webpage).group(1)).strip("| Statigram") + uploader = re.search(r'@(.+) \(Videos\)',title).group(1) + print uploader + ext = "mp4" + return [{ + 'id': video_id, + 'url': video_url, + 'ext': ext, + 'title': title, + 'thumbnail': thumbnail_url, + 'uploader' : uploader + }] + def gen_extractors(): """ Return a list of an instance of every supported extractor. The order does matter; the first extractor matched is the one handling the URL. @@ -4618,6 +4642,7 @@ def gen_extractors(): HypemIE(), Vbox7IE(), GametrailersIE(), + StatigrIE(), GenericIE() ] From 01ba4b80a732308e8da66ba89bac9273181db1ad Mon Sep 17 00:00:00 2001 From: "M.Yasoob Khalid" Date: Sun, 23 Jun 2013 18:02:55 +0500 Subject: [PATCH 2/3] added StatigrIE --- youtube_dl/InfoExtractors.py | 1 - 1 file changed, 1 deletion(-) diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 6788bf402..4aec8c687 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -4565,7 +4565,6 @@ def _real_extract(self, url): thumbnail_url = re.search(r'',webpage).group(1) title = (re.search(r'(.+?)',webpage).group(1)).strip("| Statigram") uploader = re.search(r'@(.+) \(Videos\)',title).group(1) - print uploader ext = "mp4" return [{ 'id': video_id, From 4fdd4e6f6f2b34afb657901c036609a9c6a25c9a Mon Sep 17 00:00:00 2001 From: "M.Yasoob Khalid" Date: Sun, 23 Jun 2013 18:56:26 +0500 Subject: [PATCH 3/3] added test for Statigr --- test/tests.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/tests.json b/test/tests.json index 3e0db297d..c2c6421fd 100644 --- a/test/tests.json +++ b/test/tests.json @@ -630,5 +630,15 @@ "title": "E3 2013: Debut Trailer" }, "skip": "Requires rtmpdump" + }, + { + "name": "Statigr", + "url": "http://statigr.am/p/484091715184808010_284179915", + "file": "484091715184808010_284179915.mp4", + "md5": "deda4ff333abe2e118740321e992605b", + "info_dict": { + "uploader": "videoseconds", + "title": "Instagram photo by @videoseconds (Videos)" + } } ]