[twitch] Make more robust
authorSergey M․ <dstftw@gmail.com>
Mon, 17 Aug 2015 14:20:04 +0000 (20:20 +0600)
committerSergey M․ <dstftw@gmail.com>
Mon, 17 Aug 2015 14:20:04 +0000 (20:20 +0600)
youtube_dl/extractor/twitch.py

index 0521257e5a1f228fae1169969544125d936bbf34..8cba97bd408de4f1f0bf9aecf56217750aa3da5c 100644 (file)
@@ -15,6 +15,7 @@ from ..compat import (
 )
 from ..utils import (
     ExtractorError,
+    int_or_none,
     parse_duration,
     parse_iso8601,
 )
@@ -133,13 +134,13 @@ class TwitchItemBaseIE(TwitchBaseIE):
         return {
             'id': info['_id'],
             'title': info.get('title') or 'Untitled Broadcast',
-            'description': info['description'],
-            'duration': info['length'],
-            'thumbnail': info['preview'],
-            'uploader': info['channel']['display_name'],
-            'uploader_id': info['channel']['name'],
-            'timestamp': parse_iso8601(info['recorded_at']),
-            'view_count': info['views'],
+            'description': info.get('description'),
+            'duration': int_or_none(info.get('length')),
+            'thumbnail': info.get('preview'),
+            'uploader': info.get('channel', {}).get('display_name'),
+            'uploader_id': info.get('channel', {}).get('name'),
+            'timestamp': parse_iso8601(info.get('recorded_at')),
+            'view_count': int_or_none(info.get('views')),
         }
 
     def _real_extract(self, url):