Move subtype parsing to ReleaseGroup
This commit is contained in:
@@ -25,6 +25,13 @@ defmodule MusicBrainz.ReleaseGroup do
|
|||||||
"https://musicbrainz.org/release-group/#{id}"
|
"https://musicbrainz.org/release-group/#{id}"
|
||||||
end
|
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
|
defp get_release_groups(release_group) do
|
||||||
release_group
|
release_group
|
||||||
|> Map.get("relations", [])
|
|> Map.get("relations", [])
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ defmodule MusicBrainz.ReleaseGroupSearchResult do
|
|||||||
@enforce_keys [:id, :type, :title, :artists, :release]
|
@enforce_keys [:id, :type, :title, :artists, :release]
|
||||||
defstruct [:id, :type, :title, :artists, :release]
|
defstruct [:id, :type, :title, :artists, :release]
|
||||||
|
|
||||||
|
alias MusicBrainz.ReleaseGroup
|
||||||
|
|
||||||
def from_api_response(rg) do
|
def from_api_response(rg) do
|
||||||
%__MODULE__{
|
%__MODULE__{
|
||||||
id: rg["id"],
|
id: rg["id"],
|
||||||
type: parse_subtype(rg["primary-type"]),
|
type: ReleaseGroup.parse_subtype(rg["primary-type"]),
|
||||||
title: rg["title"],
|
title: rg["title"],
|
||||||
artists:
|
artists:
|
||||||
rg["artist-credit"]
|
rg["artist-credit"]
|
||||||
@@ -14,11 +16,4 @@ defmodule MusicBrainz.ReleaseGroupSearchResult do
|
|||||||
release: rg["first-release-date"]
|
release: rg["first-release-date"]
|
||||||
}
|
}
|
||||||
end
|
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
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user