Videos: ignore empty music entries (#3709)

This commit is contained in:
Samantaz Fox 2023-03-31 22:34:33 +02:00
commit ef6eea3a65
No known key found for this signature in database
GPG key ID: F42821059186176E

View file

@ -330,7 +330,10 @@ def parse_video_info(video_id : String, player_response : Hash(String, JSON::Any
# Used when the video has multiple songs # Used when the video has multiple songs
if song_title = music_desc.dig?("carouselLockupRenderer", "videoLockup", "compactVideoRenderer", "title") if song_title = music_desc.dig?("carouselLockupRenderer", "videoLockup", "compactVideoRenderer", "title")
# "simpleText" for plain text / "runs" when song has a link # "simpleText" for plain text / "runs" when song has a link
song = song_title["simpleText"]? || song_title.dig("runs", 0, "text") song = song_title["simpleText"]? || song_title.dig?("runs", 0, "text")
# some videos can have empty tracks. See: https://www.youtube.com/watch?v=eBGIQ7ZuuiU
next if !song
end end
music_desc.dig?("carouselLockupRenderer", "infoRows").try &.as_a.each do |desc| music_desc.dig?("carouselLockupRenderer", "infoRows").try &.as_a.each do |desc|