|
@ -15,6 +15,7 @@ from ..compat import ( |
|
|
) |
|
|
) |
|
|
from ..utils import ( |
|
|
from ..utils import ( |
|
|
ExtractorError, |
|
|
ExtractorError, |
|
|
|
|
|
int_or_none, |
|
|
parse_duration, |
|
|
parse_duration, |
|
|
parse_iso8601, |
|
|
parse_iso8601, |
|
|
) |
|
|
) |
|
@ -133,13 +134,13 @@ class TwitchItemBaseIE(TwitchBaseIE): |
|
|
return { |
|
|
return { |
|
|
'id': info['_id'], |
|
|
'id': info['_id'], |
|
|
'title': info.get('title') or 'Untitled Broadcast', |
|
|
'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): |
|
|
def _real_extract(self, url): |
|
|