]>
Commit | Line | Data |
---|---|---|
352d08e3 | 1 | from .common import InfoExtractor |
d226c560 | 2 | from .youtube import YoutubeIE |
352d08e3 JMF |
3 | |
4 | ||
5 | class FreespeechIE(InfoExtractor): | |
6 | IE_NAME = 'freespeech.org' | |
a238a868 | 7 | _VALID_URL = r'https?://(?:www\.)?freespeech\.org/stories/(?P<id>.+)' |
352d08e3 JMF |
8 | _TEST = { |
9 | 'add_ie': ['Youtube'], | |
a238a868 | 10 | 'url': 'http://www.freespeech.org/stories/fcc-announces-net-neutrality-rollback-whats-stake/', |
352d08e3 | 11 | 'info_dict': { |
a238a868 RA |
12 | 'id': 'waRk6IPqyWM', |
13 | 'ext': 'mp4', | |
14 | 'title': 'What\'s At Stake - Net Neutrality Special', | |
15 | 'description': 'Presented by MNN and FSTV', | |
16 | 'upload_date': '20170728', | |
352d08e3 | 17 | 'uploader_id': 'freespeechtv', |
a238a868 | 18 | 'uploader': 'freespeechtv', |
352d08e3 JMF |
19 | }, |
20 | } | |
21 | ||
22 | def _real_extract(self, url): | |
a238a868 RA |
23 | display_id = self._match_id(url) |
24 | webpage = self._download_webpage(url, display_id) | |
25 | youtube_url = self._search_regex( | |
26 | r'data-video-url="([^"]+)"', | |
27 | webpage, 'youtube url') | |
352d08e3 | 28 | |
d226c560 | 29 | return self.url_result(youtube_url, YoutubeIE.ie_key()) |