- context = json.loads(self._search_regex(r'context = ({.*?});', webpage,
- u'context'))
- video = context['video']
- rtmp_url, play_path = video['streamUrl'].split(';', 1)
-
- return {
- 'id': compat_str(video['mediaId']),
- 'title': video['title'],
+
+ if mobj.group('mediatype').startswith('music/song'):
+ # songs don't store any useful info in the 'context' variable
+ def search_data(name):
+ return self._search_regex(r'data-%s="(.*?)"' % name, webpage,
+ name)
+ streamUrl = search_data('stream-url')
+ info = {
+ 'id': video_id,
+ 'title': self._og_search_title(webpage),
+ 'uploader_id': search_data('artist-username'),
+ 'thumbnail': self._og_search_thumbnail(webpage),
+ }
+ else:
+ context = json.loads(self._search_regex(r'context = ({.*?});', webpage,
+ u'context'))
+ video = context['video']
+ streamUrl = video['streamUrl']
+ info = {
+ 'id': compat_str(video['mediaId']),
+ 'title': video['title'],
+ 'description': video['description'],
+ 'thumbnail': video['imageUrl'],
+ 'uploader': video['artistName'],
+ 'uploader_id': video['artistUsername'],
+ }
+
+ rtmp_url, play_path = streamUrl.split(';', 1)
+ info.update({