fix: Handle nil value for genreUcid in Video struct
This commit is contained in:
parent
1ae14cc224
commit
31ad708206
|
@ -250,7 +250,7 @@ struct Video
|
||||||
end
|
end
|
||||||
|
|
||||||
def genre_url : String?
|
def genre_url : String?
|
||||||
info["genreUcid"]? ? "/channel/#{info["genreUcid"]}" : nil
|
info["genreUcid"].try &.as_s? ? "/channel/#{info["genreUcid"]}" : nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def is_vr : Bool?
|
def is_vr : Bool?
|
||||||
|
|
|
@ -327,7 +327,7 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any
|
||||||
|
|
||||||
if metadata_title == "Category"
|
if metadata_title == "Category"
|
||||||
contents = contents.try &.dig?("runs", 0)
|
contents = contents.try &.dig?("runs", 0)
|
||||||
|
|
||||||
genre = contents.try &.["text"]?
|
genre = contents.try &.["text"]?
|
||||||
genre_ucid = contents.try &.dig?("navigationEndpoint", "browseEndpoint", "browseId")
|
genre_ucid = contents.try &.dig?("navigationEndpoint", "browseEndpoint", "browseId")
|
||||||
elsif metadata_title == "License"
|
elsif metadata_title == "License"
|
||||||
|
@ -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),
|
"shortDescription" => JSON::Any.new(short_description.try &.as_s || nil),
|
||||||
# Video metadata
|
# Video metadata
|
||||||
"genre" => JSON::Any.new(genre.try &.as_s || ""),
|
"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 || nil),
|
||||||
"license" => JSON::Any.new(license.try &.as_s || ""),
|
"license" => JSON::Any.new(license.try &.as_s || ""),
|
||||||
# Music section
|
# Music section
|
||||||
"music" => JSON.parse(music_list.to_json),
|
"music" => JSON.parse(music_list.to_json),
|
||||||
|
|
Loading…
Reference in a new issue