Harden release label display
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
defmodule MusicBrainz.Release do
|
||||
@enforce_keys [:id, :title, :artists, :date, :barcode, :media]
|
||||
defstruct [:id, :title, :artists, :date, :barcode, :media]
|
||||
@enforce_keys [:id, :title, :disambiguation, :artists, :date, :barcode, :country, :media]
|
||||
defstruct [:id, :title, :disambiguation, :artists, :date, :barcode, :country, :media]
|
||||
|
||||
defmodule Artist do
|
||||
@enforce_keys [:id, :name, :sort_name]
|
||||
@@ -37,9 +37,11 @@ defmodule MusicBrainz.Release do
|
||||
%__MODULE__{
|
||||
id: r["id"],
|
||||
title: r["title"],
|
||||
disambiguation: r["disambiguation"],
|
||||
artists: parse_artists(r["artist-credit"] || []),
|
||||
date: r["date"],
|
||||
barcode: r["barcode"],
|
||||
country: r["country"],
|
||||
media: parse_media(r["media"] || [])
|
||||
}
|
||||
end
|
||||
@@ -51,7 +53,7 @@ defmodule MusicBrainz.Release do
|
||||
format: m["format"],
|
||||
number: m["position"],
|
||||
track_count: m["track-count"],
|
||||
tracks: parse_tracks(m["tracks"])
|
||||
tracks: parse_tracks(m["tracks"] || [])
|
||||
}
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -46,16 +46,18 @@ defmodule MusicBrainz.ReleaseSearchResult do
|
||||
end)
|
||||
end
|
||||
|
||||
defp parse_format(nil), do: :unknown
|
||||
defp parse_format("CD"), do: :cd
|
||||
defp parse_format("DVD-Audio"), do: :dvd
|
||||
defp parse_format("DVD-Video"), do: :dvd
|
||||
defp parse_format("Blu-ray"), do: :blu_ray
|
||||
defp parse_format("Digital Media"), do: :digital_download
|
||||
|
||||
defp parse_format(maybe_vinyl) do
|
||||
if String.contains?(maybe_vinyl, "Vinyl") do
|
||||
:vinyl
|
||||
else
|
||||
:unknown
|
||||
defp parse_format(format) do
|
||||
cond do
|
||||
String.contains?(format, "Vinyl") -> :vinyl
|
||||
String.contains?(format, "CD") -> :cd
|
||||
true -> :unknown
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user