|
|
|
@ -9,6 +9,7 @@ from ..utils import (
|
|
|
|
|
determine_ext,
|
|
|
|
|
clean_html,
|
|
|
|
|
int_or_none,
|
|
|
|
|
float_or_none,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -65,12 +66,12 @@ class EscapistIE(InfoExtractor):
|
|
|
|
|
video_id = self._match_id(url)
|
|
|
|
|
webpage = self._download_webpage(url, video_id)
|
|
|
|
|
|
|
|
|
|
imsVideo = self._parse_json(
|
|
|
|
|
ims_video = self._parse_json(
|
|
|
|
|
self._search_regex(
|
|
|
|
|
r'imsVideo\.play\(({.+?})\);', webpage, 'imsVideo'),
|
|
|
|
|
video_id)
|
|
|
|
|
video_id = imsVideo['videoID']
|
|
|
|
|
key = imsVideo['hash']
|
|
|
|
|
video_id = ims_video['videoID']
|
|
|
|
|
key = ims_video['hash']
|
|
|
|
|
|
|
|
|
|
config_req = compat_urllib_request.Request(
|
|
|
|
|
'http://www.escapistmagazine.com/videos/'
|
|
|
|
@ -80,8 +81,11 @@ class EscapistIE(InfoExtractor):
|
|
|
|
|
|
|
|
|
|
data = json.loads(_decrypt_config(key, config))
|
|
|
|
|
|
|
|
|
|
title = clean_html(data['videoData']['title'])
|
|
|
|
|
duration = data['videoData']['duration'] / 1000
|
|
|
|
|
video_data = data['videoData']
|
|
|
|
|
|
|
|
|
|
title = clean_html(video_data['title'])
|
|
|
|
|
duration = float_or_none(video_data.get('duration'), 1000)
|
|
|
|
|
uploader = video_data.get('publisher')
|
|
|
|
|
|
|
|
|
|
formats = [{
|
|
|
|
|
'url': video['src'],
|
|
|
|
@ -97,4 +101,5 @@ class EscapistIE(InfoExtractor):
|
|
|
|
|
'thumbnail': self._og_search_thumbnail(webpage),
|
|
|
|
|
'description': self._og_search_description(webpage),
|
|
|
|
|
'duration': duration,
|
|
|
|
|
'uploader': uploader,
|
|
|
|
|
}
|
|
|
|
|