aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan <duncan@vtllf.org>2015-05-10 16:03:09 +1200
committerDuncan <duncan@vtllf.org>2015-05-10 16:03:09 +1200
commit28ebef0b1b1b7b97137fbd8e093c09cb51954606 (patch)
tree09737c994c879d6def0d25858f4cf6e96d9b2139
parentf03a8a3c4ec4dc95164c12181ffc1ddcb7583ef6 (diff)
downloadyoutube-dl-28ebef0b1b1b7b97137fbd8e093c09cb51954606.tar.xz
[voicerepublic] Detect list of available formats from the web page
-rw-r--r--youtube_dl/extractor/voicerepublic.py7
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 {