mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-21 20:46:36 -05:00
[vube] Fix comment count
This commit is contained in:
parent
388841f819
commit
b090af5922
2 changed files with 29 additions and 9 deletions
|
@ -301,8 +301,12 @@ def _download_xml(self, url_or_request, video_id,
|
||||||
def _download_json(self, url_or_request, video_id,
|
def _download_json(self, url_or_request, video_id,
|
||||||
note=u'Downloading JSON metadata',
|
note=u'Downloading JSON metadata',
|
||||||
errnote=u'Unable to download JSON metadata',
|
errnote=u'Unable to download JSON metadata',
|
||||||
transform_source=None):
|
transform_source=None,
|
||||||
json_string = self._download_webpage(url_or_request, video_id, note, errnote)
|
fatal=True):
|
||||||
|
json_string = self._download_webpage(
|
||||||
|
url_or_request, video_id, note, errnote, fatal=fatal)
|
||||||
|
if (not fatal) and json_string is False:
|
||||||
|
return None
|
||||||
if transform_source:
|
if transform_source:
|
||||||
json_string = transform_source(json_string)
|
json_string = transform_source(json_string)
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -25,7 +25,10 @@ class VubeIE(InfoExtractor):
|
||||||
'uploader': 'Chiara.Grispo',
|
'uploader': 'Chiara.Grispo',
|
||||||
'timestamp': 1388743358,
|
'timestamp': 1388743358,
|
||||||
'upload_date': '20140103',
|
'upload_date': '20140103',
|
||||||
'duration': 170.56
|
'duration': 170.56,
|
||||||
|
'like_count': int,
|
||||||
|
'dislike_count': int,
|
||||||
|
'comment_count': int,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -40,7 +43,10 @@ class VubeIE(InfoExtractor):
|
||||||
'uploader': 'Seraina',
|
'uploader': 'Seraina',
|
||||||
'timestamp': 1396492438,
|
'timestamp': 1396492438,
|
||||||
'upload_date': '20140403',
|
'upload_date': '20140403',
|
||||||
'duration': 240.107
|
'duration': 240.107,
|
||||||
|
'like_count': int,
|
||||||
|
'dislike_count': int,
|
||||||
|
'comment_count': int,
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
'url': 'http://vube.com/vote/Siren+Gene/0nmsMY5vEq?n=2&t=s',
|
'url': 'http://vube.com/vote/Siren+Gene/0nmsMY5vEq?n=2&t=s',
|
||||||
|
@ -56,6 +62,7 @@ class VubeIE(InfoExtractor):
|
||||||
'duration': 221.788,
|
'duration': 221.788,
|
||||||
'like_count': int,
|
'like_count': int,
|
||||||
'dislike_count': int,
|
'dislike_count': int,
|
||||||
|
'comment_count': int,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -70,7 +77,6 @@ def _real_extract(self, url):
|
||||||
webpage, 'video data'
|
webpage, 'video data'
|
||||||
)
|
)
|
||||||
data = json.loads(data_json)
|
data = json.loads(data_json)
|
||||||
open('/dev/shm/f', 'w').write(json.dumps(data, indent=2))
|
|
||||||
video = (
|
video = (
|
||||||
data.get('video') or
|
data.get('video') or
|
||||||
data)
|
data)
|
||||||
|
@ -101,12 +107,22 @@ def _real_extract(self, url):
|
||||||
duration = video['duration']
|
duration = video['duration']
|
||||||
view_count = video.get('raw_view_count')
|
view_count = video.get('raw_view_count')
|
||||||
like_count = video.get('rlikes')
|
like_count = video.get('rlikes')
|
||||||
|
if like_count is None:
|
||||||
|
like_count = video.get('total_likes')
|
||||||
dislike_count = video.get('rhates')
|
dislike_count = video.get('rhates')
|
||||||
|
if dislike_count is None:
|
||||||
|
dislike_count = video.get('total_hates')
|
||||||
|
|
||||||
comment = self._download_json(
|
comments = video.get('comments')
|
||||||
'http://vube.com/api/video/%s/comment' % video_id, video_id, 'Downloading video comment JSON')
|
comment_count = None
|
||||||
|
if comments is None:
|
||||||
comment_count = int_or_none(comment.get('total'))
|
comment_data = self._download_json(
|
||||||
|
'http://vube.com/api/video/%s/comment' % video_id,
|
||||||
|
video_id, 'Downloading video comment JSON', fatal=False)
|
||||||
|
if comment_data is not None:
|
||||||
|
comment_count = int_or_none(comment_data.get('total'))
|
||||||
|
else:
|
||||||
|
comment_count = len(comments)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
|
|
Loading…
Reference in a new issue