[youtube] Make parse_time_text and _extract_chapters non-fatal

Related: #532, 7c365c2109
This commit is contained in:
pukkandan 2021-07-20 07:21:16 +05:30
parent 7c365c2109
commit da503b7a52
No known key found for this signature in database
GPG key ID: 0F00D95A001F4698

View file

@ -1950,7 +1950,7 @@ def _extract_chapters_from_engagement_panel(self, data, duration):
content_list = traverse_obj(
data,
('engagementPanels', ..., 'engagementPanelSectionListRenderer', 'content', 'macroMarkersListRenderer', 'contents'),
expected_type=list)
expected_type=list, default=[])
chapter_time = lambda chapter: parse_duration(self._get_text(chapter.get('timeDescription')))
chapter_title = lambda chapter: self._get_text(chapter.get('title'))
@ -1996,7 +1996,10 @@ def parse_time_text(time_text):
"""
time_text_split = time_text.split(' ')
if len(time_text_split) >= 3:
return datetime_from_str('now-%s%s' % (time_text_split[0], time_text_split[1]), precision='auto')
try:
return datetime_from_str('now-%s%s' % (time_text_split[0], time_text_split[1]), precision='auto')
except ValueError:
return None
def _extract_comment(self, comment_renderer, parent=None):
comment_id = comment_renderer.get('commentId')