from .common import InfoExtractor
from ..compat import compat_urllib_parse
from ..utils import (
+ ExtractorError,
int_or_none,
qualities,
)
'uploader_id': '10922353@N03',
'uploader': 'Forest Wander',
'comment_count': int,
+ 'view_count': int,
+ 'tags': list,
}
}
}
if secret:
query['secret'] = secret
- return self._download_json(self._API_BASE_URL + compat_urllib_parse.urlencode(query), video_id, note)
+ data = self._download_json(self._API_BASE_URL + compat_urllib_parse.urlencode(query), video_id, note)
+ if data['stat'] != 'ok':
+ raise ExtractorError(data['message'])
+ return data
def _real_extract(self, url):
video_id = self._match_id(url)
'uploader_id': owner.get('nsid'),
'uploader': owner.get('realname'),
'comment_count': int_or_none(video_info.get('comments', {}).get('_content')),
+ 'view_count': int_or_none(video_info.get('views')),
+ 'tags': [tag.get('_content') for tag in video_info.get('tags', {}).get('tag', [])]
}
+ else:
+ raise ExtractorError('not a video', expected=True)