Added extractor for AudioBoom.com
[youtube-dl] / youtube_dl / extractor / audioboom.py
1 # coding: utf-8
2 from __future__ import unicode_literals
3
4 from .common import InfoExtractor
5 from ..utils import float_or_none
6
7
8 class AudioBoomIE(InfoExtractor):
9     _VALID_URL = r'https?://(?:www\.)?audioboom\.com/boos/(?P<id>[0-9]+)'
10     _TEST = {
11         'url': 'https://audioboom.com/boos/4279833-3-09-2016-czaban-hour-3?t=0',
12         'md5': '63a8d73a055c6ed0f1e51921a10a5a76',
13         'info_dict': {
14             'id': '4279833',
15             'ext': 'mp3',
16             'title': '3/09/2016 Czaban Hour 3',
17             'description': 'Guest:   Nate Davis - NFL free agency,   Guest:   Stan Gans',
18             'duration': 2245.72
19         }
20     }
21
22     def _real_extract(self, url):
23         video_id = self._match_id(url)
24         webpage = self._download_webpage(url, video_id)
25
26         title = self._og_search_title(webpage)
27
28         download_url = self._og_search_property('audio', webpage, 'url')
29
30         duration = float_or_none(self._html_search_meta(
31             'weibo:audio:duration', webpage, fatal=False))
32
33         return {
34             'id': video_id,
35             'title': title,
36             'url': download_url,
37             'description': self._og_search_description(webpage),
38             'duration': duration,
39         }