summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2024-07-21 17:15:46 +0200
committerSamantaz Fox <coding@samantaz.fr>2024-07-21 17:24:03 +0200
commit7fdbda612f9dae55f4b21a46b546e33da0d32549 (patch)
treef520e561893100d209ad7de2db2c328427b55ed2
parent4f60feee1701b41d3778a7bbc358a9b1c372949e (diff)
parent3bac467a8c25935cba801492049b0b6fe448b8a1 (diff)
downloadinvidious-7fdbda612f9dae55f4b21a46b546e33da0d32549.tar.gz
invidious-7fdbda612f9dae55f4b21a46b546e33da0d32549.tar.bz2
invidious-7fdbda612f9dae55f4b21a46b546e33da0d32549.zip
Videos: Fix genre url being unusable (#4717)
Closes issue 4700
-rw-r--r--spec/invidious/videos/regular_videos_extract_spec.cr4
-rw-r--r--spec/invidious/videos/scheduled_live_extract_spec.cr2
-rw-r--r--src/invidious/videos.cr2
-rw-r--r--src/invidious/videos/parser.cr2
4 files changed, 5 insertions, 5 deletions
diff --git a/spec/invidious/videos/regular_videos_extract_spec.cr b/spec/invidious/videos/regular_videos_extract_spec.cr
index a6a3e60a..c647c1d1 100644
--- a/spec/invidious/videos/regular_videos_extract_spec.cr
+++ b/spec/invidious/videos/regular_videos_extract_spec.cr
@@ -67,7 +67,7 @@ Spectator.describe "parse_video_info" do
# Video metadata
expect(info["genre"].as_s).to eq("Entertainment")
- expect(info["genreUcid"].as_s).to be_empty
+ expect(info["genreUcid"].as_s?).to be_nil
expect(info["license"].as_s).to be_empty
# Author infos
@@ -151,7 +151,7 @@ Spectator.describe "parse_video_info" do
# Video metadata
expect(info["genre"].as_s).to eq("Music")
- expect(info["genreUcid"].as_s).to be_empty
+ expect(info["genreUcid"].as_s?).to be_nil
expect(info["license"].as_s).to be_empty
# Author infos
diff --git a/spec/invidious/videos/scheduled_live_extract_spec.cr b/spec/invidious/videos/scheduled_live_extract_spec.cr
index 25e08c51..c3a9b228 100644
--- a/spec/invidious/videos/scheduled_live_extract_spec.cr
+++ b/spec/invidious/videos/scheduled_live_extract_spec.cr
@@ -94,7 +94,7 @@ Spectator.describe "parse_video_info" do
# Video metadata
expect(info["genre"].as_s).to eq("Entertainment")
- expect(info["genreUcid"].as_s).to be_empty
+ expect(info["genreUcid"].as_s?).to be_nil
expect(info["license"].as_s).to be_empty
# Author infos
diff --git a/src/invidious/videos.cr b/src/invidious/videos.cr
index c218b4ef..cdfca02c 100644
--- a/src/invidious/videos.cr
+++ b/src/invidious/videos.cr
@@ -250,7 +250,7 @@ struct Video
end
def genre_url : String?
- info["genreUcid"]? ? "/channel/#{info["genreUcid"]}" : nil
+ info["genreUcid"].try &.as_s? ? "/channel/#{info["genreUcid"]}" : nil
end
def is_vr : Bool?
diff --git a/src/invidious/videos/parser.cr b/src/invidious/videos/parser.cr
index 0e1a947c..4bdb2512 100644
--- a/src/invidious/videos/parser.cr
+++ b/src/invidious/videos/parser.cr
@@ -424,7 +424,7 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any
"shortDescription" => JSON::Any.new(short_description.try &.as_s || nil),
# Video metadata
"genre" => JSON::Any.new(genre.try &.as_s || ""),
- "genreUcid" => JSON::Any.new(genre_ucid.try &.as_s || ""),
+ "genreUcid" => JSON::Any.new(genre_ucid.try &.as_s?),
"license" => JSON::Any.new(license.try &.as_s || ""),
# Music section
"music" => JSON.parse(music_list.to_json),