[rozhlas] Add new extractor
[youtube-dl] / youtube_dl / extractor / rozhlas.py
1 # coding: utf-8
2 from __future__ import unicode_literals
3
4 from .common import InfoExtractor
5
6
7 class RozhlasIE(InfoExtractor):
8     _VALID_URL = r'https?://(?:www\.)?prehravac\.rozhlas\.cz/audio/(?P<id>[0-9]+)'
9     _TEST = {
10         'url': 'http://prehravac.rozhlas.cz/audio/3421320',
11         'md5': '504c902dbc9e9a1fd50326eccf02a7e2',
12         'info_dict': {
13             'id': '3421320',
14             'ext': 'mp3',
15             'title': 'Echo Pavla Klusáka (30.06.2015 21:00)',
16             'description': 'Osmdesátiny Terryho Rileyho jsou skvělou příležitostí proletět se elektronickými i akustickými díly zakladatatele minimalismu, který je aktivní už přes padesát let'
17         }
18     }
19
20     def _real_extract(self, url):
21         audio_id = self._match_id(url)
22         webpage = self._download_webpage(url, audio_id)
23
24         title = self._html_search_regex(r'<h3>(.+?)</h3>', webpage, 'title')
25         description = self._html_search_regex(r'<p title="(.+?)">', webpage, 'description', fatal=False)
26
27         url = 'http://media.rozhlas.cz/_audio/' + audio_id + '.mp3'
28
29         return {
30             'id': audio_id,
31             'url': url,
32             'title': title,
33             'description': description,
34         }