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