1
mirror of https://github.com/yt-dlp/yt-dlp synced 2024-12-25 04:13:46 +01:00

[huffpost] Make extraction more robust (Closes #4663)

This commit is contained in:
Sergey M․ 2015-01-08 19:07:28 +06:00
parent 58a84b8cb6
commit 398133cf55

View File

@ -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']) duration = parse_duration(data.get('running_time'))
upload_date = unified_strdate(data['schedule']['starts_at']) 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()] } for key, url in data.get('sources', {}).get('live', {}).items()]
if data.get('fivemin_id'):
fid = data['fivemin_id'] if not formats and data.get('fivemin_id'):
fcat = str(int(fid) // 100 + 1) return self.url_result('5min:%s' % data['fivemin_id'])
furl = 'http://avideos.5min.com/2/' + fcat[-3:] + '/' + fcat + '/' + fid + '.mp4'
formats.append({
'format': 'fivemin',
'url': furl,
'preference': 1,
})
self._sort_formats(formats) self._sort_formats(formats)
return { return {