Compare commits

...

3 Commits

Author SHA1 Message Date
jakeogh 17bb4434c2 replace dict access with try_get() 2024-04-24 02:22:01 -07:00
jakeogh 276347381c fix another indent 2024-04-24 00:07:55 -07:00
jakeogh 800906c9ce fix indent 2024-04-24 00:03:23 -07:00
1 changed files with 13 additions and 8 deletions

View File

@ -3312,16 +3312,16 @@ def _extract_comment(self, view_model, entity, parent=None):
info = {
'id': comment_id,
'text': entity_payload['properties']['content']['content'],
'like_count': entity_payload['toolbar']['likeCountNotliked'],
'text': try_get(entity_payload, lambda x: x['properties']['content']['content'], str),
'like_count': str_to_int(try_get(entity_payload, lambda x: x['toolbar']['likeCountNotliked'], str)) or 0,
'author_id': traverse_obj(entity_payload, ('author', 'channelId', {self.ucid_or_none})),
'author': entity_payload['author']['displayName'],
'author': try_get(entity_payload, lambda x: x['author']['displayName'], str),
'author_thumbnail': traverse_obj(entity_payload, ('author', 'avatarThumbnailUrl', {url_or_none})),
'parent': parent or 'root',
}
# Timestamp is an estimate calculated from the current time and time_text
time_text = entity_payload['properties']['publishedTime'] or ''
time_text = try_get(entity_payload, lambda x: x['properties']['publishedTime'], str) or ''
timestamp = self._parse_time_text(time_text)
info.update({
@ -3331,9 +3331,14 @@ def _extract_comment(self, view_model, entity, parent=None):
})
info['author_url'] = urljoin(
'https://www.youtube.com', traverse_obj(entity_payload,
('author', 'channelCommand', 'innertubeCommand', 'browseEndpoint', 'canonicalBaseUrl'),
expected_type=str, get_all=False))
'https://www.youtube.com',
traverse_obj(entity_payload,
('author',
'channelCommand',
'innertubeCommand',
'browseEndpoint',
'canonicalBaseUrl'),
expected_type=str, get_all=False))
author_is_uploader = traverse_obj(entity_payload, ('author', 'isCreator'))
if author_is_uploader is not None:
@ -3456,7 +3461,7 @@ def extract_thread(contents, entity_payloads):
else:
view_model = traverse_obj(comment_thread_renderer, ('commentViewModel', 'commentViewModel'))
if not view_model:
view_model = content.get('commentViewModel')
view_model = content.get('commentViewModel')
if not view_model:
continue
comment_id = view_model['commentId']