mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-12-03 15:37:42 +00:00
[YouTube] Fix like_count
extraction using likeButtonViewModel
* also fix various tests * TODO: check against yt-dlp tests
This commit is contained in:
parent
f8b0135850
commit
dc512e3a8a
2 changed files with 15 additions and 4 deletions
|
@ -295,6 +295,7 @@ class TestNRKSubtitles(BaseTestSubtitles):
|
|||
def test_allsubtitles(self):
|
||||
self.DL.params['writesubtitles'] = True
|
||||
self.DL.params['allsubtitles'] = True
|
||||
self.DL.params['format'] = 'best/bestvideo'
|
||||
subtitles = self.getSubtitles()
|
||||
self.assertEqual(set(subtitles.keys()), set(['nb-ttv']))
|
||||
self.assertEqual(md5(subtitles['nb-ttv']), '67e06ff02d0deaf975e68f6cb8f6a149')
|
||||
|
|
|
@ -39,6 +39,7 @@ from ..utils import (
|
|||
mimetype2ext,
|
||||
NO_DEFAULT,
|
||||
parse_codecs,
|
||||
parse_count,
|
||||
parse_duration,
|
||||
parse_qs,
|
||||
qualities,
|
||||
|
@ -46,6 +47,7 @@ from ..utils import (
|
|||
smuggle_url,
|
||||
str_or_none,
|
||||
str_to_int,
|
||||
T,
|
||||
traverse_obj,
|
||||
try_call,
|
||||
try_get,
|
||||
|
@ -1250,7 +1252,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||
'title': 'IMG 3456',
|
||||
'description': '',
|
||||
'upload_date': '20170613',
|
||||
'uploader': 'ElevageOrVert',
|
||||
'uploader': "l'Or Vert asbl",
|
||||
'uploader_id': '@ElevageOrVert',
|
||||
},
|
||||
'params': {
|
||||
|
@ -2474,6 +2476,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||
'like_count': str_to_int(like_count),
|
||||
'dislike_count': str_to_int(dislike_count),
|
||||
})
|
||||
else:
|
||||
info['like_count'] = traverse_obj(vpir, (
|
||||
'videoActions', 'menuRenderer', 'topLevelButtons', Ellipsis,
|
||||
'segmentedLikeDislikeButtonViewModel', 'likeButtonViewModel', 'likeButtonViewModel',
|
||||
'toggleButtonViewModel', 'toggleButtonViewModel', 'defaultButtonViewModel',
|
||||
'buttonViewModel', (('title', ('accessibilityText', T(lambda s: s.split()), Ellipsis))), T(parse_count)),
|
||||
get_all=False)
|
||||
|
||||
vsir = content.get('videoSecondaryInfoRenderer')
|
||||
if vsir:
|
||||
rows = try_get(
|
||||
|
@ -2588,7 +2598,7 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor):
|
|||
'playlist_mincount': 94,
|
||||
'info_dict': {
|
||||
'id': 'UCqj7Cz7revf5maW9g5pgNcg',
|
||||
'title': 'Igor Kleiner - Playlists',
|
||||
'title': r're:Igor Kleiner(?: Ph\.D\.)? - Playlists',
|
||||
'description': 'md5:be97ee0f14ee314f1f002cf187166ee2',
|
||||
'uploader': 'Igor Kleiner',
|
||||
'uploader_id': '@IgorDataScience',
|
||||
|
@ -2599,7 +2609,7 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor):
|
|||
'playlist_mincount': 94,
|
||||
'info_dict': {
|
||||
'id': 'UCqj7Cz7revf5maW9g5pgNcg',
|
||||
'title': 'Igor Kleiner - Playlists',
|
||||
'title': r're:Igor Kleiner(?: Ph\.D\.)? - Playlists',
|
||||
'description': 'md5:be97ee0f14ee314f1f002cf187166ee2',
|
||||
'uploader': 'Igor Kleiner',
|
||||
'uploader_id': '@IgorDataScience',
|
||||
|
@ -2711,7 +2721,7 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor):
|
|||
'url': 'https://www.youtube.com/channel/UCKfVa3S1e4PHvxWcwyMMg8w/channels',
|
||||
'info_dict': {
|
||||
'id': 'UCKfVa3S1e4PHvxWcwyMMg8w',
|
||||
'title': 'lex will - Channels',
|
||||
'title': r're:lex will - (?:Home|Channels)',
|
||||
'description': 'md5:2163c5d0ff54ed5f598d6a7e6211e488',
|
||||
'uploader': 'lex will',
|
||||
'uploader_id': '@lexwill718',
|
||||
|
|
Loading…
Reference in a new issue