class YinYueTaiIE(InfoExtractor):
IE_NAME = 'yinyuetai:video'
_VALID_URL = r'https?://v\.yinyuetai\.com/video(/h5)?/(?P<id>[0-9]+)'
- _TEST = {
+ _TESTS = [{
'url': 'http://v.yinyuetai.com/video/2322376',
'md5': '6e3abe28d38e3a54b591f9f040595ce0',
'info_dict': {
'title': '少女时代_PARTY_Music Video Teaser',
'creator': '少女时代',
},
- }
+ }, {
+ 'url': 'http://v.yinyuetai.com/video/h5/2322376',
+ 'only_matching': True,
+ }]
def _real_extract(self, url):
video_id = self._match_id(url)
if info['error']:
raise ExtractorError(info['errorMsg'], expected=True)
- formats = [
- {'url': format_info['videoUrl'], 'format_id': format_info['qualityLevel'],
- 'format': format_info['qualityLevelName'], 'filesize': format_info['fileSize'],
- 'ext': 'mp4', 'preference': format_info['bitrate']}
- for format_info in info['videoUrlModels']
- ]
+ formats = [{
+ 'url': format_info['videoUrl'],
+ 'format_id': format_info['qualityLevel'],
+ 'format': format_info['qualityLevelName'],
+ 'filesize': format_info['fileSize'],
+ 'ext': 'mp4',
+ 'preference': format_info['bitrate'],
+ } for format_info in info['videoUrlModels']]
self._sort_formats(formats)
return {