From cd34b2e40695bbf7a9e3736e8fa827ba7f975c92 Mon Sep 17 00:00:00 2001 From: sherl Date: Thu, 24 Jul 2025 20:40:59 +0200 Subject: [PATCH] fix: premiere timestamp should be unix epoch, not iso time fixes past live stream playback on clipious --- ythdd_inv_tl.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ythdd_inv_tl.py b/ythdd_inv_tl.py index afb9871..a908218 100644 --- a/ythdd_inv_tl.py +++ b/ythdd_inv_tl.py @@ -388,8 +388,9 @@ def videos(data): length = int(safeTraverse(video_details, ['lengthSeconds'], default=1)) published = dateToEpoch(safeTraverse(microformat, ['publishDate'], default="1970-01-02T00:00:00Z")) # ISO format to Unix timestamp published_date = epochToDate(published) - premiere_timestamp = safeTraverse(microformat, ['liveBroadcastDetails', 'startTimestamp'], default=0) # let's ignore the nitty gritty for the time being - premiere_timestamp = premiere_timestamp if premiere_timestamp else safeTraverse(microformat, ['playabilityStatus', 'liveStreamability', 'liveStreamabilityRenderer', 'offlineSlate', 'liveStreamOfflineSlateRenderer', 'scheduledStartTime'], default=0) + premiere_timestamp = safeTraverse(microformat, ['liveBroadcastDetails', 'startTimestamp'], default="1970-01-02T00:00:00Z") # let's ignore the nitty gritty for the time being + premiere_timestamp = premiere_timestamp if premiere_timestamp else safeTraverse(microformat, ['playabilityStatus', 'liveStreamability', 'liveStreamabilityRenderer', 'offlineSlate', 'liveStreamOfflineSlateRenderer', 'scheduledStartTime'], default="1970-01-02T00:00:00Z") + premiere_timestamp = dateToEpoch(premiere_timestamp) live_now = safeTraverse(microformat, ['liveBroadcastDetails', 'isLiveNow'], default=False) post_live_dvr = safeTraverse(video_details, ['isPostLiveDvr'], default=False) allowed_regions = safeTraverse(microformat, ['availableCountries'], default=[]) @@ -524,7 +525,7 @@ def videos(data): video_type = "livestream" elif premiere_timestamp: video_type = "scheduled" - published = dateToEpoch(premiere_timestamp) if premiere_timestamp else int(time()) + published = premiere_timestamp if premiere_timestamp else int(time()) else: video_type = "video"