[StreamMe] make sure "id" and "title" always present

This commit is contained in:
sh!zeeg 2017-01-04 04:43:39 +03:00
parent fcc3b98dd4
commit ca25624b1a

View File

@ -4,6 +4,7 @@ from __future__ import unicode_literals
from .common import InfoExtractor from .common import InfoExtractor
from ..utils import ( from ..utils import (
int_or_none, int_or_none,
compat_str,
ExtractorError, ExtractorError,
) )
@ -50,9 +51,9 @@ class StreamMeIE(InfoExtractor):
def _extract_info(self, info): def _extract_info(self, info):
data = { data = {
'id': info.get('urlId') or info['publicId'], 'id': info.get('urlId') or info.get('publicId'),
# 'formats': self.formats, # 'formats': self.formats,
'title': info.get('title') or 'Untitled Broadcast', 'title': info.get('title'),
'age_limit': int_or_none(info.get('ageRating')), 'age_limit': int_or_none(info.get('ageRating')),
'description': info.get('description'), 'description': info.get('description'),
'display_id': info.get('titleSlug'), 'display_id': info.get('titleSlug'),
@ -152,6 +153,11 @@ class StreamMeLiveIE(StreamMeIE):
self._sort_formats(formats, 'vbr') self._sort_formats(formats, 'vbr')
info = self._extract_info(stream_info) info = self._extract_info(stream_info)
info['formats'] = formats info['formats'] = formats
if not info.get('title'):
info['title'] = self._live_title(data.get('displayName') or channel_id)
if not info.get('id'):
info['id'] = compat_str(abs(hash('%s/%s' % (channel_id, formats[0]))) % (10 ** 6))
return info return info