fix: premiere timestamp should be unix epoch, not iso time

fixes past live stream playback on clipious
This commit is contained in:
2025-07-24 20:40:59 +02:00
parent 3a0a89f737
commit cd34b2e406

View File

@@ -388,8 +388,9 @@ def videos(data):
length = int(safeTraverse(video_details, ['lengthSeconds'], default=1)) 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 = dateToEpoch(safeTraverse(microformat, ['publishDate'], default="1970-01-02T00:00:00Z")) # ISO format to Unix timestamp
published_date = epochToDate(published) published_date = epochToDate(published)
premiere_timestamp = safeTraverse(microformat, ['liveBroadcastDetails', 'startTimestamp'], default=0) # let's ignore the nitty gritty for the time being 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=0) 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) live_now = safeTraverse(microformat, ['liveBroadcastDetails', 'isLiveNow'], default=False)
post_live_dvr = safeTraverse(video_details, ['isPostLiveDvr'], default=False) post_live_dvr = safeTraverse(video_details, ['isPostLiveDvr'], default=False)
allowed_regions = safeTraverse(microformat, ['availableCountries'], default=[]) allowed_regions = safeTraverse(microformat, ['availableCountries'], default=[])
@@ -524,7 +525,7 @@ def videos(data):
video_type = "livestream" video_type = "livestream"
elif premiere_timestamp: elif premiere_timestamp:
video_type = "scheduled" video_type = "scheduled"
published = dateToEpoch(premiere_timestamp) if premiere_timestamp else int(time()) published = premiere_timestamp if premiere_timestamp else int(time())
else: else:
video_type = "video" video_type = "video"