[KonserthusetPlay] Add new extractor (partial support)
[youtube-dl] / youtube_dl / extractor / konserthusetplay.py
1 # coding: utf-8
2 from __future__ import unicode_literals
3
4 from .common import InfoExtractor
5
6
7 class KonserthusetPlayIE(InfoExtractor):
8     _VALID_URL = r'https?://(?:www\.)?konserthusetplay\.se/\?m=(?P<id>[0-9A-Za-z_-]+)'
9
10     _TESTS = [{
11         'url': 'http://www.konserthusetplay.se/?m=CKDDnlCY-dhWAAqiMERd-A',
12         'md5': 'e272a765e0d12a0226199e5f32d76116',
13         'info_dict': {
14             'id': 'CKDDnlCY-dhWAAqiMERd-A',
15             'ext': 'mp4',
16             'title': 'Orkesterns instrument: Valthornen',
17             'description': 'md5:f10e1f0030202020396a4d712d2fa827',
18             'thumbnail': 'http://csp.picsearch.com/img/C/K/D/D/title_CKDDnlCY-dhWAAqiMERd-A'
19         }
20     }, {
21         'url': 'http://www.konserthusetplay.se/?m=IyQcMOEpmKqT91SVT5OP8Q',
22         'md5': 'c4adb8ca76fdd33d4cbdcc7c3d181f22',
23         'info_dict': {
24             'id': 'IyQcMOEpmKqT91SVT5OP8Q',
25             'ext': 'mp4',
26             'title': 'Eliasson Einsame Fahrt, violinkonsert',
27             'description': 'md5:a8dcc8dfd9473d52433b2c5f588ba191',
28             'thumbnail': 'http://csp.picsearch.com/img/I/y/Q/c/title_IyQcMOEpmKqT91SVT5OP8Q'
29         }
30     }]
31
32     def _real_extract(self, url):
33         video_id = self._match_id(url)
34         webpage = self._download_webpage(url, video_id)
35         description = self._og_search_description(webpage)
36         title = self._og_search_title(webpage)
37         main_video = self._html_search_regex(r'<link rel="video_src" href="(.+?)" />', webpage, 'url')
38         thumbnail = self._og_search_thumbnail(webpage)
39         return {
40             'id': video_id,
41             'title': title,
42             'description': description,
43             'url': main_video,
44             'thumbnail': thumbnail
45         }