1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-10-04 17:04:22 -04:00

[youtube:tab] Fix duration extraction for shorts (#3171)

Related: https://github.com/TeamNewPipe/NewPipe/issues/8034
Authored-by: coletdjnz
This commit is contained in:
coletdev
2022-03-28 13:49:42 +13:00
committed by GitHub
parent 47b8bf207b
commit 1c1b2f96ae
3 changed files with 14 additions and 6 deletions

View File

@@ -807,6 +807,12 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
description = self._get_text(renderer, 'descriptionSnippet')
duration = parse_duration(self._get_text(
renderer, 'lengthText', ('thumbnailOverlays', ..., 'thumbnailOverlayTimeStatusRenderer', 'text')))
if duration is None:
duration = parse_duration(self._search_regex(
r'(?i)(ago)(?!.*\1)\s+(?P<duration>[a-z0-9 ,]+?)(?:\s+[\d,]+\s+views)?(?:\s+-\s+play\s+short)?$',
traverse_obj(renderer, ('title', 'accessibility', 'accessibilityData', 'label'), default='', expected_type=str),
video_id, default=None, group='duration'))
view_count = self._get_count(renderer, 'viewCountText')
uploader = self._get_text(renderer, 'ownerText', 'shortBylineText')