diff options
| author | RadoslavL <rlelchev@abv.bg> | 2023-11-08 19:09:16 +0200 |
|---|---|---|
| committer | RadoslavL <rlelchev@abv.bg> | 2023-11-08 19:09:16 +0200 |
| commit | a0d24190b8e7b4e92f4a4912953cace1fc52f43d (patch) | |
| tree | af6e762a377680daa8905448866cc0e0143ee63d /src | |
| parent | 76369eb599ff3ae8a1fd89e6c2d1ae745b1276e3 (diff) | |
| download | invidious-a0d24190b8e7b4e92f4a4912953cace1fc52f43d.tar.gz invidious-a0d24190b8e7b4e92f4a4912953cace1fc52f43d.tar.bz2 invidious-a0d24190b8e7b4e92f4a4912953cace1fc52f43d.zip | |
Made published be an optional parameter
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/videos/parser.cr | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr index 275395df..c0e8a6ea 100644 --- a/src/invidious/videos/parser.cr +++ b/src/invidious/videos/parser.cr @@ -6,7 +6,7 @@ require "json" # # TODO: "compactRadioRenderer" (Mix) and # TODO: Use a proper struct/class instead of a hacky JSON object -def parse_related_video(related : JSON::Any, published) : Hash(String, JSON::Any)? +def parse_related_video(related : JSON::Any, published : String? = nil) : Hash(String, JSON::Any)? return nil if !related["videoId"]? # The compact renderer has video length in seconds, where the end @@ -47,7 +47,7 @@ def parse_related_video(related : JSON::Any, published) : Hash(String, JSON::Any "view_count" => JSON::Any.new(view_count || "0"), "short_view_count" => JSON::Any.new(short_view_count || "0"), "author_verified" => JSON::Any.new(author_verified), - "published" => published, + "published" => JSON::Any.new(published || ""), } end @@ -238,11 +238,11 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any if item = element["compactVideoRenderer"]? if item["publishedTimeText"]? rv_decoded_time = decode_date(item["publishedTimeText"].to_s) - rv_published_timestamp = JSON::Any.new(rv_decoded_time.to_unix.to_s) + rv_published_timestamp = rv_decoded_time.to_unix.to_s else - rv_published_timestamp = JSON::Any.new("") + rv_published_timestamp = nil end - related_video = parse_related_video(item, rv_published_timestamp) + related_video = parse_related_video(item, published: rv_published_timestamp) related << JSON::Any.new(related_video) if related_video end end @@ -257,7 +257,7 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any player_overlays.try &.as_a.each do |element| if item = element["endScreenVideoRenderer"]? - related_video = parse_related_video(item, JSON::Any.new("")) + related_video = parse_related_video(item) related << JSON::Any.new(related_video) if related_video end end |
