diff options
| -rw-r--r-- | youtube_dl/extractor/escapist.py | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/youtube_dl/extractor/escapist.py b/youtube_dl/extractor/escapist.py index dadfaa6a5..2cd3af142 100644 --- a/youtube_dl/extractor/escapist.py +++ b/youtube_dl/extractor/escapist.py @@ -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,          } | 
