diff options
| -rw-r--r-- | youtube_dl/extractor/kickstarter.py | 46 | 
1 files changed, 24 insertions, 22 deletions
| diff --git a/youtube_dl/extractor/kickstarter.py b/youtube_dl/extractor/kickstarter.py index 50bc883ef..961dd1aa6 100644 --- a/youtube_dl/extractor/kickstarter.py +++ b/youtube_dl/extractor/kickstarter.py @@ -1,37 +1,39 @@ +# encoding: utf-8 +from __future__ import unicode_literals +  import re  from .common import InfoExtractor  class KickStarterIE(InfoExtractor): -    _VALID_URL = r'https?://www\.kickstarter\.com/projects/(?P<id>\d*)/.*' +    _VALID_URL = r'https?://www\.kickstarter\.com/projects/(?P<id>[^/]*)/.*'      _TEST = { -        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", +        'url': 'https://www.kickstarter.com/projects/1404461844/intersection-the-story-of-josh-grant?ref=home_location', +        'md5': 'c81addca81327ffa66c642b5d8b08cab', +        'info_dict': { +            'id': '1404461844', +            'ext': 'mp4', +            'title': 'Intersection: The Story of Josh Grant by Kyle Cowling', +            'description': 'A unique motocross documentary that examines the ' +                'life and mind of one of sports most elite athletes: Josh Grant.',          },      }      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) +        webpage = 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"<title>(.*?)</title>", -            webpage_src, u'title').rpartition(u'\u2014 Kickstarter')[0].strip() +        video_url = self._search_regex(r'data-video-url="(.*?)"', +            webpage, 'video URL') +        video_title = self._html_search_regex(r'<title>(.*?)</title>', +            webpage, 'title').rpartition('— Kickstarter')[0].strip() -        results = [{ -                    'id': video_id, -                    'url': video_url, -                    'title': video_title, -                    'ext': ext, -                    }] -        return results +        return { +            'id': video_id, +            'url': video_url, +            'title': video_title, +            'description': self._og_search_description(webpage), +            'thumbnail': self._og_search_thumbnail(webpage), +        } | 
