diff options
Diffstat (limited to 'youtube_dl/extractor/azubu.py')
| -rw-r--r-- | youtube_dl/extractor/azubu.py | 19 | 
1 files changed, 12 insertions, 7 deletions
diff --git a/youtube_dl/extractor/azubu.py b/youtube_dl/extractor/azubu.py index efa624de1..a813eb429 100644 --- a/youtube_dl/extractor/azubu.py +++ b/youtube_dl/extractor/azubu.py @@ -46,6 +46,7 @@ class AzubuIE(InfoExtractor):                  'uploader_id': 272749,                  'view_count': int,              }, +            'skip': 'Channel offline',          },      ] @@ -56,22 +57,26 @@ class AzubuIE(InfoExtractor):              'http://www.azubu.tv/api/video/%s' % video_id, video_id)['data']          title = data['title'].strip() -        description = data['description'] -        thumbnail = data['thumbnail'] -        view_count = data['view_count'] -        uploader = data['user']['username'] -        uploader_id = data['user']['id'] +        description = data.get('description') +        thumbnail = data.get('thumbnail') +        view_count = data.get('view_count') +        user = data.get('user', {}) +        uploader = user.get('username') +        uploader_id = user.get('id')          stream_params = json.loads(data['stream_params']) -        timestamp = float_or_none(stream_params['creationDate'], 1000) -        duration = float_or_none(stream_params['length'], 1000) +        timestamp = float_or_none(stream_params.get('creationDate'), 1000) +        duration = float_or_none(stream_params.get('length'), 1000)          renditions = stream_params.get('renditions') or []          video = stream_params.get('FLVFullLength') or stream_params.get('videoFullLength')          if video:              renditions.append(video) +        if not renditions and not user.get('channel', {}).get('is_live', True): +            raise ExtractorError('%s said: channel is offline.' % self.IE_NAME, expected=True) +          formats = [{              'url': fmt['url'],              'width': fmt['frameWidth'],  | 
