diff options
author | Remita Amine <remitamine@gmail.com> | 2019-03-11 15:53:44 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2019-03-11 15:53:44 +0100 |
commit | e585547284649c19949db36b0982b7b245d39384 (patch) | |
tree | 3c051b45d76d65ee8f94eb710e9f2fde3b828ba9 /youtube_dl/extractor/viddler.py | |
parent | 4993132344611e77e71d27cbd4803a323e7006f4 (diff) |
[viddler] Modernize
Diffstat (limited to 'youtube_dl/extractor/viddler.py')
-rw-r--r-- | youtube_dl/extractor/viddler.py | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/youtube_dl/extractor/viddler.py b/youtube_dl/extractor/viddler.py index 67808e7e6..642358433 100644 --- a/youtube_dl/extractor/viddler.py +++ b/youtube_dl/extractor/viddler.py @@ -1,19 +1,16 @@ from __future__ import unicode_literals +import re + from .common import InfoExtractor -from ..compat import ( - compat_urllib_parse_urlencode, - compat_urlparse, -) from ..utils import ( float_or_none, int_or_none, - sanitized_Request, ) class ViddlerIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?viddler\.com/(?:v|embed|player)/(?P<id>[a-z0-9]+)' + _VALID_URL = r'https?://(?:www\.)?viddler\.com/(?:v|embed|player)/(?P<id>[a-z0-9]+)(?:.+?\bsecret=(\d+))?' _TESTS = [{ 'url': 'http://www.viddler.com/v/43903784', 'md5': '9eee21161d2c7f5b39690c3e325fab2f', @@ -78,23 +75,18 @@ class ViddlerIE(InfoExtractor): }] def _real_extract(self, url): - video_id = self._match_id(url) + video_id, secret = re.match(self._VALID_URL, url).groups() query = { 'video_id': video_id, 'key': 'v0vhrt7bg2xq1vyxhkct', } - - qs = compat_urlparse.parse_qs(compat_urlparse.urlparse(url).query) - secret = qs.get('secret', [None])[0] if secret: query['secret'] = secret - headers = {'Referer': 'http://static.cdn-ec.viddler.com/js/arpeggio/v2/embed.html'} - request = sanitized_Request( - 'http://api.viddler.com/api/v2/viddler.videos.getPlaybackDetails.json?%s' - % compat_urllib_parse_urlencode(query), None, headers) - data = self._download_json(request, video_id)['video'] + data = self._download_json( + 'http://api.viddler.com/api/v2/viddler.videos.getPlaybackDetails.json', + video_id, headers={'Referer': url}, query=query)['video'] formats = [] for filed in data['files']: |