From 9fc729d5e1a697cf50540b9ca6913911170b3767 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 29 Apr 2025 18:56:48 +0100 Subject: [PATCH] Support secondary Discogs images --- lib/music_library/records/artist_info.ex | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/music_library/records/artist_info.ex b/lib/music_library/records/artist_info.ex index fa7b1cf1..04016ef7 100644 --- a/lib/music_library/records/artist_info.ex +++ b/lib/music_library/records/artist_info.ex @@ -53,15 +53,19 @@ defmodule MusicLibrary.Records.ArtistInfo do end def extract_image(artist_info) do - primary_image = - Enum.find(artist_info.discogs_data["images"] || [], fn image -> - image["type"] == "primary" - end) + primary_image = extract_image(artist_info.discogs_data, "primary") + secondary_image = extract_image(artist_info.discogs_data, "secondary") - if primary_image do - {:ok, %{url: primary_image["resource_url"], width: primary_image["width"]}} + if image = primary_image || secondary_image do + {:ok, %{url: image["resource_url"], width: image["width"]}} else {:error, :image_not_found} end end + + defp extract_image(discogs_data, type) do + Enum.find(discogs_data["images"] || [], fn image -> + image["type"] == type + end) + end end