[aljazeera] Add extractor (closes #4487)
[youtube-dl] / youtube_dl / extractor / aljazeera.py
1 from .common import InfoExtractor
2
3
4 class AlJazeeraIE(InfoExtractor):
5     _VALID_URL = r'http://www\.aljazeera\.com/programmes/.*?/(?P<id>[^/]+)\.html'
6
7     _TEST = {
8         'url': 'http://www.aljazeera.com/programmes/the-slum/2014/08/deliverance-201482883754237240.html',
9         'info_dict': {
10             'id': '3792260579001',
11             'ext': 'mp4',
12             'title': 'The Slum - Episode 1: Deliverance',
13             'description': 'As a birth attendant advocating for family planning, Remy is on the frontline of Tondo\'s battle with overcrowding.',
14             'uploader': 'Al Jazeera English',
15         },
16         'add_ie': ['Brightcove'],
17     }
18
19     def _real_extract(self, url):
20         program_name = self._match_id(url)
21         webpage = self._download_webpage(url, program_name)
22         brightcove_id = self._search_regex(
23             r'RenderPagesVideo\(\'(.+?)\'', webpage, 'brightcove id')
24
25         return {
26             '_type': 'url',
27             'url':
28                 'http://c.brightcove.com/services/viewer/federated_f9?'
29                 '&playerKey=AQ~~%2CAAAAmtVJIFk~%2CTVGOQ5ZTwJbeMWnq5d_H4MOM57xfzApc'
30                 '&%40videoPlayer={0}'.format(brightcove_id),
31             'ie_key': 'Brightcove',
32         }