From: Jaime Marquínez Ferrándiz Date: Fri, 13 Sep 2013 17:41:15 +0000 (+0200) Subject: Merge pull request #1409 from JohnyMoSwag/master (closes #1404) X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=youtube-dl;a=commitdiff_plain;h=94518f208799dde250f5fd8dd0ce77dd7ea05b1c Merge pull request #1409 from JohnyMoSwag/master (closes #1404) added kickstarter IE --- 94518f208799dde250f5fd8dd0ce77dd7ea05b1c diff --cc youtube_dl/extractor/kickstarter.py index 000000000,7f6f2b064..50bc883ef mode 000000,100644..100644 --- a/youtube_dl/extractor/kickstarter.py +++ b/youtube_dl/extractor/kickstarter.py @@@ -1,0 -1,43 +1,37 @@@ + import re + + from .common import InfoExtractor + + + class KickStarterIE(InfoExtractor): - _VALID_URL = r'https?://www\.kickstarter\.com/projects/(?P.*)/.*\?' ++ _VALID_URL = r'https?://www\.kickstarter\.com/projects/(?P\d*)/.*' + _TEST = { - "url": "https://www.kickstarter.com/projects/1404461844/intersection-the-story-of-josh-grant?ref=home_location", - "file": "1404461844.mp4", - "md5": "c81addca81327ffa66c642b5d8b08cab", - "info_dict": { - "title": u"Intersection: The Story of Josh Grant by Kyle Cowling \u2014 Kickstarter" - } ++ u"url": u"https://www.kickstarter.com/projects/1404461844/intersection-the-story-of-josh-grant?ref=home_location", ++ u"file": u"1404461844.mp4", ++ u"md5": u"c81addca81327ffa66c642b5d8b08cab", ++ u"info_dict": { ++ u"title": u"Intersection: The Story of Josh Grant by Kyle Cowling", ++ }, + } + - + def _real_extract(self, url): + m = re.match(self._VALID_URL, url) + video_id = m.group('id') - + webpage_src = self._download_webpage(url, video_id) + + video_url = self._search_regex(r'data-video="(.*?)">', + webpage_src, u'video URL') - + if 'mp4' in video_url: + ext = 'mp4' + else: + ext = 'flv' - - video_title = self._html_search_regex(r"(.*)?", - webpage_src, u'title') - ++ video_title = self._html_search_regex(r"(.*?)", ++ webpage_src, u'title').rpartition(u'\u2014 Kickstarter')[0].strip() + + results = [{ + 'id': video_id, - 'url' : video_url, - 'title' : video_title, - 'ext' : ext, ++ 'url': video_url, ++ 'title': video_title, ++ 'ext': ext, + }] - - return results ++ return results