Move subtype parsing to ReleaseGroup

This commit is contained in:
Claudio Ortolina
2025-02-10 19:01:56 +00:00
parent c19184337b
commit 27bd32b2a9
2 changed files with 10 additions and 8 deletions
+7
View File
@@ -25,6 +25,13 @@ defmodule MusicBrainz.ReleaseGroup do
"https://musicbrainz.org/release-group/#{id}"
end
def parse_subtype("Album"), do: :album
def parse_subtype("EP"), do: :ep
def parse_subtype("Live"), do: :live
def parse_subtype("Compilation"), do: :compilation
def parse_subtype("Single"), do: :single
def parse_subtype(_), do: :other
defp get_release_groups(release_group) do
release_group
|> Map.get("relations", [])
@@ -2,10 +2,12 @@ defmodule MusicBrainz.ReleaseGroupSearchResult do
@enforce_keys [:id, :type, :title, :artists, :release]
defstruct [:id, :type, :title, :artists, :release]
alias MusicBrainz.ReleaseGroup
def from_api_response(rg) do
%__MODULE__{
id: rg["id"],
type: parse_subtype(rg["primary-type"]),
type: ReleaseGroup.parse_subtype(rg["primary-type"]),
title: rg["title"],
artists:
rg["artist-credit"]
@@ -14,11 +16,4 @@ defmodule MusicBrainz.ReleaseGroupSearchResult do
release: rg["first-release-date"]
}
end
defp parse_subtype("Album"), do: :album
defp parse_subtype("EP"), do: :ep
defp parse_subtype("Live"), do: :live
defp parse_subtype("Compilation"), do: :compilation
defp parse_subtype("Single"), do: :single
defp parse_subtype(_), do: :other
end