|
@ -39,8 +39,9 @@ class HuffPostIE(InfoExtractor): |
|
|
data = self._download_json(api_url, video_id)['data'] |
|
|
data = self._download_json(api_url, video_id)['data'] |
|
|
|
|
|
|
|
|
video_title = data['title'] |
|
|
video_title = data['title'] |
|
|
duration = parse_duration(data['running_time']) |
|
|
|
|
|
upload_date = unified_strdate(data['schedule']['starts_at']) |
|
|
|
|
|
|
|
|
duration = parse_duration(data.get('running_time')) |
|
|
|
|
|
upload_date = unified_strdate( |
|
|
|
|
|
data.get('schedule', {}).get('starts_at') or data.get('segment_start_date_time')) |
|
|
description = data.get('description') |
|
|
description = data.get('description') |
|
|
|
|
|
|
|
|
thumbnails = [] |
|
|
thumbnails = [] |
|
@ -59,16 +60,11 @@ class HuffPostIE(InfoExtractor): |
|
|
'ext': 'mp4', |
|
|
'ext': 'mp4', |
|
|
'url': url, |
|
|
'url': url, |
|
|
'vcodec': 'none' if key.startswith('audio/') else None, |
|
|
'vcodec': 'none' if key.startswith('audio/') else None, |
|
|
} for key, url in data['sources']['live'].items()] |
|
|
|
|
|
if data.get('fivemin_id'): |
|
|
|
|
|
fid = data['fivemin_id'] |
|
|
|
|
|
fcat = str(int(fid) // 100 + 1) |
|
|
|
|
|
furl = 'http://avideos.5min.com/2/' + fcat[-3:] + '/' + fcat + '/' + fid + '.mp4' |
|
|
|
|
|
formats.append({ |
|
|
|
|
|
'format': 'fivemin', |
|
|
|
|
|
'url': furl, |
|
|
|
|
|
'preference': 1, |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
} for key, url in data.get('sources', {}).get('live', {}).items()] |
|
|
|
|
|
|
|
|
|
|
|
if not formats and data.get('fivemin_id'): |
|
|
|
|
|
return self.url_result('5min:%s' % data['fivemin_id']) |
|
|
|
|
|
|
|
|
self._sort_formats(formats) |
|
|
self._sort_formats(formats) |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|