[chirbit] Add new extractor.
[youtube-dl] / youtube_dl / extractor / chirbit.py
1 # coding: utf-8
2 from __future__ import unicode_literals
3
4 from .common import InfoExtractor
5
6
7 class ChirbitIE(InfoExtractor):
8     _VALID_URL = r'https?://(?:www\.)?chirb\.it/(?P<id>[^/]+)'
9     _TEST = {
10         'url': 'http://chirb.it/PrIPv5',
11         'md5': '9847b0dad6ac3e074568bf2cfb197de8',
12         'info_dict': {
13             'id': 'PrIPv5',
14             'display_id': 'kukushtv_1423231243',
15             'ext': 'mp3',
16             'title': 'Фасадстрой',
17             'url': 'http://audio.chirbit.com/kukushtv_1423231243.mp3'
18         }
19     }
20
21     def _real_extract(self, url):
22         audio_linkid = self._match_id(url)
23         webpage = self._download_webpage(url, audio_linkid)
24
25         audio_title = self._html_search_regex(r'<h2\s+itemprop="name">(.*?)</h2>', webpage, 'title')
26         audio_id = self._html_search_regex(r'\("setFile",\s+"http://audio.chirbit.com/(.*?).mp3"\)', webpage, 'audio ID')
27         audio_url = 'http://audio.chirbit.com/' + audio_id + '.mp3';
28
29         return {
30             'id': audio_linkid,
31             'display_id': audio_id,
32             'title': audio_title,
33             'url': audio_url
34         }