[indavideo] Sign download URLs

This commit is contained in:
András Veres-Szentkirályi 2018-05-25 19:46:05 +02:00 committed by Sergey M
parent 6bd499e8ca
commit b39f42ee92

View file

@ -2,10 +2,12 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from .common import InfoExtractor from .common import InfoExtractor
from ..compat import compat_str
from ..utils import ( from ..utils import (
int_or_none, int_or_none,
parse_age_limit, parse_age_limit,
parse_iso8601, parse_iso8601,
update_url_query,
) )
@ -58,11 +60,10 @@ def _real_extract(self, url):
if flv_url not in video_urls: if flv_url not in video_urls:
video_urls.append(flv_url) video_urls.append(flv_url)
formats = [{ filesh = video.get('filesh')
'url': video_url, formats = [
'height': int_or_none(self._search_regex( self.video_url_to_format(video_url, filesh)
r'\.(\d{3,4})\.mp4(?:\?|$)', video_url, 'height', default=None)), for video_url in video_urls]
} for video_url in video_urls]
self._sort_formats(formats) self._sort_formats(formats)
timestamp = video.get('date') timestamp = video.get('date')
@ -90,6 +91,18 @@ def _real_extract(self, url):
'formats': formats, 'formats': formats,
} }
def video_url_to_format(self, video_url, filesh):
height = int_or_none(self._search_regex(
r'\.(\d{3,4})\.mp4(?:\?|$)', video_url, 'height', default=None))
if height and filesh:
token = filesh.get(compat_str(height))
if token is not None:
video_url = update_url_query(video_url, {'token': token})
return {
'url': video_url,
'height': height,
}
class IndavideoIE(InfoExtractor): class IndavideoIE(InfoExtractor):
_VALID_URL = r'https?://(?:.+?\.)?indavideo\.hu/video/(?P<id>[^/#?]+)' _VALID_URL = r'https?://(?:.+?\.)?indavideo\.hu/video/(?P<id>[^/#?]+)'