diff options
author | Duncan <duncan@vtllf.org> | 2015-05-10 16:03:09 +1200 |
---|---|---|
committer | Duncan <duncan@vtllf.org> | 2015-05-10 16:03:09 +1200 |
commit | 28ebef0b1b1b7b97137fbd8e093c09cb51954606 (patch) | |
tree | 09737c994c879d6def0d25858f4cf6e96d9b2139 | |
parent | f03a8a3c4ec4dc95164c12181ffc1ddcb7583ef6 (diff) |
[voicerepublic] Detect list of available formats from the web page
-rw-r--r-- | youtube_dl/extractor/voicerepublic.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/youtube_dl/extractor/voicerepublic.py b/youtube_dl/extractor/voicerepublic.py index d3e35a815..d150b5b5e 100644 --- a/youtube_dl/extractor/voicerepublic.py +++ b/youtube_dl/extractor/voicerepublic.py @@ -1,6 +1,8 @@ # coding: utf-8 from __future__ import unicode_literals +import re + from .common import InfoExtractor from ..compat import compat_urllib_request from ..utils import ExtractorError @@ -32,12 +34,15 @@ class VoiceRepublicIE(InfoExtractor): if '<a>Queued for processing, please stand by...</a>' in webpage: raise ExtractorError('Audio is still queued for processing') + ext_matches = re.finditer(r'data-\w+=\'/vrmedia/\d+-clean\.(\w+)\'', webpage) + exts = [match.group(1) for match in ext_matches] + formats = [{ 'url': 'https://voicerepublic.com/vrmedia/{}-clean.{}'.format(video_id, ext), 'ext': ext, 'format_id': ext, 'vcodec': 'none', - } for ext in ['m4a', 'mp3', 'ogg']] + } for ext in exts] self._sort_formats(formats) return { |