diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-01-08 19:07:28 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-01-08 19:07:28 +0600 |
commit | 398133cf554895859cf587654e67049d2e21b570 (patch) | |
tree | 43fa46c1baa8624cdc792b3cd94dc8438a9d520a | |
parent | 58a84b8cb69e967dd95fa309c0160838853c7d79 (diff) |
[huffpost] Make extraction more robust (Closes #4663)
-rw-r--r-- | youtube_dl/extractor/huffpost.py | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/youtube_dl/extractor/huffpost.py b/youtube_dl/extractor/huffpost.py index 4ccf6b9b8..a38eae421 100644 --- a/youtube_dl/extractor/huffpost.py +++ b/youtube_dl/extractor/huffpost.py @@ -39,8 +39,9 @@ class HuffPostIE(InfoExtractor): data = self._download_json(api_url, video_id)['data'] 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') thumbnails = [] @@ -59,16 +60,11 @@ class HuffPostIE(InfoExtractor): 'ext': 'mp4', 'url': url, '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) return { |