Rollback to old ytdl resolver for vimeo

This commit is contained in:
Maksym Pavlenko
2017-10-20 23:21:28 -07:00
parent 56b0cc5d37
commit 9895ae88bc
2 changed files with 13 additions and 4 deletions
+5 -3
View File
@@ -4,9 +4,11 @@ import unittest
class TestYtdl(unittest.TestCase):
def test_resolve(self):
self.assertIsNotNone(ytdl._resolve('https://youtube.com/watch?v=ygIUF678y40', {'format': 'video', 'quality': 'low'}))
self.assertIsNotNone(ytdl._resolve('https://youtube.com/watch?v=WyaEiO4hyik', {'format': 'audio', 'quality': 'high'}))
self.assertIsNotNone(
ytdl._resolve('https://youtube.com/watch?v=ygIUF678y40', {'format': 'video', 'quality': 'low', 'provider': 'youtube'}))
self.assertIsNotNone(
ytdl._resolve('https://youtube.com/watch?v=WyaEiO4hyik', {'format': 'audio', 'quality': 'high', 'provider': 'youtube'}))
def test_vimeo(self):
self.assertIsNotNone(
ytdl._resolve('https://vimeo.com/237715420', {'format': 'video', 'quality': 'low'}))
ytdl._resolve('https://vimeo.com/237715420', {'format': 'video', 'quality': 'low', 'provider': 'vimeo'}))
+8 -1
View File
@@ -62,9 +62,16 @@ def _resolve(url, metadata):
raise InvalidUsage('Invalid URL')
try:
provider = metadata['provider']
with youtube_dl.YoutubeDL(opts) as ytdl:
info = ytdl.extract_info(url, download=False)
return _choose_url(info, metadata)
if provider == 'youtube':
return _choose_url(info, metadata)
elif provider == 'vimeo':
return info['url']
else:
raise ValueError('undefined provider')
except DownloadError:
raise
except Exception as e: