diff options
author | remitamine <remitamine@gmail.com> | 2015-09-20 22:26:23 +0100 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-09-22 21:45:45 +0600 |
commit | 92085e7099d3607ff512f241454d6f6f4535b05a (patch) | |
tree | 63fdc1fbb0dbd2930bfe1e3e902d9583c0408a6e | |
parent | c6aa838b51484ad3d036db21ba4e9e834720a693 (diff) |
[viewster] accept https links and fix api_token extraction and extract mp4 video link(fixes #6787)
-rw-r--r-- | youtube_dl/extractor/viewster.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/youtube_dl/extractor/viewster.py b/youtube_dl/extractor/viewster.py index cda02ba24..c68a38167 100644 --- a/youtube_dl/extractor/viewster.py +++ b/youtube_dl/extractor/viewster.py @@ -16,7 +16,7 @@ from ..utils import ( class ViewsterIE(InfoExtractor): - _VALID_URL = r'http://(?:www\.)?viewster\.com/(?:serie|movie)/(?P<id>\d+-\d+-\d+)' + _VALID_URL = r'https?://(?:www\.)?viewster\.com/(?:serie|movie)/(?P<id>\d+-\d+-\d+)' _TESTS = [{ # movie, Type=Movie 'url': 'http://www.viewster.com/movie/1140-11855-000/the-listening-project/', @@ -74,8 +74,8 @@ class ViewsterIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) # Get 'api_token' cookie - self._request_webpage(HEADRequest(url), video_id) - cookies = self._get_cookies(url) + self._request_webpage(HEADRequest('http://www.viewster.com/'), video_id) + cookies = self._get_cookies('http://www.viewster.com/') self._AUTH_TOKEN = compat_urllib_parse_unquote(cookies['api_token'].value) info = self._download_json( @@ -98,7 +98,7 @@ class ViewsterIE(InfoExtractor): return self.playlist_result(entries, video_id, title, description) formats = [] - for media_type in ('application/f4m+xml', 'application/x-mpegURL'): + for media_type in ('application/f4m+xml', 'application/x-mpegURL', 'video/mp4'): media = self._download_json( 'https://public-api.viewster.com/movies/%s/video?mediaType=%s' % (entry_id, compat_urllib_parse.quote(media_type)), @@ -122,6 +122,8 @@ class ViewsterIE(InfoExtractor): else: formats.append({ 'url': video_url, + 'height': int_or_none(media.get('Height')), + 'width': int_or_none(media.get('Width')), }) self._sort_formats(formats) |