about summary refs log tree commit diff
path: root/youtube_dl/extractor/huffpost.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-01-08 19:07:28 +0600
committerSergey M․ <dstftw@gmail.com>2015-01-08 19:07:28 +0600
commit398133cf554895859cf587654e67049d2e21b570 (patch)
tree43fa46c1baa8624cdc792b3cd94dc8438a9d520a /youtube_dl/extractor/huffpost.py
parent58a84b8cb69e967dd95fa309c0160838853c7d79 (diff)
downloadyoutube-dl-398133cf554895859cf587654e67049d2e21b570.tar.gz
youtube-dl-398133cf554895859cf587654e67049d2e21b570.tar.xz
youtube-dl-398133cf554895859cf587654e67049d2e21b570.zip
[huffpost] Make extraction more robust (Closes #4663)
Diffstat (limited to 'youtube_dl/extractor/huffpost.py')
-rw-r--r--youtube_dl/extractor/huffpost.py20
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 {