aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/bambuser.py
diff options
context:
space:
mode:
Diffstat (limited to 'youtube_dl/extractor/bambuser.py')
-rw-r--r--youtube_dl/extractor/bambuser.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/youtube_dl/extractor/bambuser.py b/youtube_dl/extractor/bambuser.py
index 12673e766..d52302ebc 100644
--- a/youtube_dl/extractor/bambuser.py
+++ b/youtube_dl/extractor/bambuser.py
@@ -1,13 +1,11 @@
from __future__ import unicode_literals
import re
-import json
import itertools
from .common import InfoExtractor
-from ..compat import (
- compat_urllib_request,
-)
+from ..compat import compat_urllib_request
+from ..utils import ExtractorError
class BambuserIE(InfoExtractor):
@@ -39,17 +37,24 @@ class BambuserIE(InfoExtractor):
info = self._download_json(
'http://player-c.api.bambuser.com/getVideo.json?api_key=%s&vid=%s'
- % (self._API_KEY, video_id), video_id)['result']
+ % (self._API_KEY, video_id), video_id)
+
+ error = info.get('error')
+ if error:
+ raise ExtractorError(
+ '%s returned error: %s' % (self.IE_NAME, error), expected=True)
+
+ result = info['result']
return {
'id': video_id,
- 'title': info['title'],
- 'url': info['url'],
- 'thumbnail': info.get('preview'),
- 'duration': int(info['length']),
- 'view_count': int(info['views_total']),
- 'uploader': info['username'],
- 'uploader_id': info['owner']['uid'],
+ 'title': result['title'],
+ 'url': result['url'],
+ 'thumbnail': result.get('preview'),
+ 'duration': int(result['length']),
+ 'view_count': int(result['views_total']),
+ 'uploader': result['username'],
+ 'uploader_id': result['owner']['uid'],
}