diff --git a/lib/music_library/artists.ex b/lib/music_library/artists.ex index e4ef55c5..d18b493f 100644 --- a/lib/music_library/artists.ex +++ b/lib/music_library/artists.ex @@ -46,29 +46,21 @@ defmodule MusicLibrary.Artists do end def fetch_artist_info(artist_id) do - case MusicBrainz.get_artist(artist_id) do - {:ok, musicbrainz_artist} -> - if discogs_id = MusicBrainz.Artist.get_discogs_id(musicbrainz_artist) do - case Discogs.get_artist(discogs_id) do - {:ok, discogs_artist} -> - create_artist_info(%{ - id: musicbrainz_artist.id, - musicbrainz_data: musicbrainz_artist.musicbrainz_data, - discogs_data: discogs_artist - }) - - error -> - error - end - else + with {:ok, musicbrainz_artist} <- MusicBrainz.get_artist(artist_id) do + if discogs_id = MusicBrainz.Artist.get_discogs_id(musicbrainz_artist) do + with {:ok, discogs_artist} <- Discogs.get_artist(discogs_id) do create_artist_info(%{ id: musicbrainz_artist.id, - musicbrainz_data: musicbrainz_artist.musicbrainz_data + musicbrainz_data: musicbrainz_artist.musicbrainz_data, + discogs_data: discogs_artist }) end - - error -> - error + else + create_artist_info(%{ + id: musicbrainz_artist.id, + musicbrainz_data: musicbrainz_artist.musicbrainz_data + }) + end end end