From a5c261d9ad4f4c42b0eb109e9add8271d44c9065 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sat, 26 Apr 2025 08:13:05 +0100 Subject: [PATCH] Can extract discogs id from a musicbrainz artist --- lib/music_brainz/artist.ex | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/music_brainz/artist.ex b/lib/music_brainz/artist.ex index 67c1b744..084d7873 100644 --- a/lib/music_brainz/artist.ex +++ b/lib/music_brainz/artist.ex @@ -12,6 +12,12 @@ defmodule MusicBrainz.Artist do } end + def get_discogs_id(r) do + Enum.find_value(r.relations, fn relation -> + if relation.type == "discogs", do: parse_discogs_id(relation.url["resource"]) + end) + end + defp parse_relations(relations) do Enum.map(relations, fn relation -> %{ @@ -20,4 +26,7 @@ defmodule MusicBrainz.Artist do } end) end + + defp parse_discogs_id("https://www.discogs.com/artist/" <> id), do: id + defp parse_discogs_id(_other), do: nil end