mirror of
https://github.com/iv-org/invidious.git
synced 2024-12-27 18:40:21 +05:30
Parsers: Fix parsing live_now and premiere_timestamp (#4934)
This pull request fixes the parsing for the 'live_now' and 'premiere_timestamp' variables so that they work without the 'microformat' data being present. Related to 4929
This commit is contained in:
commit
4b363e32fa
@ -235,8 +235,17 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any
|
|||||||
premiere_timestamp = microformat.dig?("liveBroadcastDetails", "startTimestamp")
|
premiere_timestamp = microformat.dig?("liveBroadcastDetails", "startTimestamp")
|
||||||
.try { |t| Time.parse_rfc3339(t.as_s) }
|
.try { |t| Time.parse_rfc3339(t.as_s) }
|
||||||
|
|
||||||
|
premiere_timestamp ||= player_response.dig?(
|
||||||
|
"playabilityStatus", "liveStreamability",
|
||||||
|
"liveStreamabilityRenderer", "offlineSlate",
|
||||||
|
"liveStreamOfflineSlateRenderer", "scheduledStartTime"
|
||||||
|
)
|
||||||
|
.try &.as_s.to_i64
|
||||||
|
.try { |t| Time.unix(t) }
|
||||||
|
|
||||||
live_now = microformat.dig?("liveBroadcastDetails", "isLiveNow")
|
live_now = microformat.dig?("liveBroadcastDetails", "isLiveNow")
|
||||||
.try &.as_bool || false
|
.try &.as_bool
|
||||||
|
live_now ||= video_details.dig?("isLive").try &.as_bool || false
|
||||||
|
|
||||||
post_live_dvr = video_details.dig?("isPostLiveDvr")
|
post_live_dvr = video_details.dig?("isPostLiveDvr")
|
||||||
.try &.as_bool || false
|
.try &.as_bool || false
|
||||||
|
Loading…
Reference in New Issue
Block a user