mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-10-13 13:58:30 +00:00
[ie/youtube:tab] Fix approximate timestamp extraction for feeds (#14539)
Authored by: coletdjnz
This commit is contained in:
parent
5513036104
commit
ccc25d6710
@ -1196,7 +1196,7 @@ def extract_relative_time(relative_time_text):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def _parse_time_text(self, text):
|
def _parse_time_text(self, text, report_failure=True):
|
||||||
if not text:
|
if not text:
|
||||||
return
|
return
|
||||||
dt_ = self.extract_relative_time(text)
|
dt_ = self.extract_relative_time(text)
|
||||||
@ -1211,7 +1211,7 @@ def _parse_time_text(self, text):
|
|||||||
(r'([a-z]+\s*\d{1,2},?\s*20\d{2})', r'(?:.+|^)(?:live|premieres|ed|ing)(?:\s*(?:on|for))?\s*(.+\d)'),
|
(r'([a-z]+\s*\d{1,2},?\s*20\d{2})', r'(?:.+|^)(?:live|premieres|ed|ing)(?:\s*(?:on|for))?\s*(.+\d)'),
|
||||||
text.lower(), 'time text', default=None)))
|
text.lower(), 'time text', default=None)))
|
||||||
|
|
||||||
if text and timestamp is None and self._preferred_lang in (None, 'en'):
|
if report_failure and text and timestamp is None and self._preferred_lang in (None, 'en'):
|
||||||
self.report_warning(
|
self.report_warning(
|
||||||
f'Cannot parse localized time text "{text}"', only_once=True)
|
f'Cannot parse localized time text "{text}"', only_once=True)
|
||||||
return timestamp
|
return timestamp
|
||||||
|
@ -341,7 +341,11 @@ def _extract_lockup_view_model(self, view_model):
|
|||||||
'contentImage', *thumb_keys, 'thumbnailViewModel', 'image'), final_key='sources'),
|
'contentImage', *thumb_keys, 'thumbnailViewModel', 'image'), final_key='sources'),
|
||||||
duration=traverse_obj(view_model, (
|
duration=traverse_obj(view_model, (
|
||||||
'contentImage', 'thumbnailViewModel', 'overlays', ..., 'thumbnailOverlayBadgeViewModel',
|
'contentImage', 'thumbnailViewModel', 'overlays', ..., 'thumbnailOverlayBadgeViewModel',
|
||||||
'thumbnailBadges', ..., 'thumbnailBadgeViewModel', 'text', {parse_duration}, any)))
|
'thumbnailBadges', ..., 'thumbnailBadgeViewModel', 'text', {parse_duration}, any)),
|
||||||
|
timestamp=(traverse_obj(view_model, (
|
||||||
|
'metadata', 'lockupMetadataViewModel', 'metadata', 'contentMetadataViewModel', 'metadataRows',
|
||||||
|
..., 'metadataParts', ..., 'text', 'content', {lambda t: self._parse_time_text(t, report_failure=False)}, any))
|
||||||
|
if self._configuration_arg('approximate_date', ie_key=YoutubeTabIE) else None))
|
||||||
|
|
||||||
def _rich_entries(self, rich_grid_renderer):
|
def _rich_entries(self, rich_grid_renderer):
|
||||||
if lockup_view_model := traverse_obj(rich_grid_renderer, ('content', 'lockupViewModel', {dict})):
|
if lockup_view_model := traverse_obj(rich_grid_renderer, ('content', 'lockupViewModel', {dict})):
|
||||||
|
Loading…
Reference in New Issue
Block a user