Harden release label display

This commit is contained in:
Claudio Ortolina
2025-05-18 20:57:17 +01:00
parent 8340a8d51f
commit 051c6195b5
7 changed files with 22 additions and 29 deletions
+5 -3
View File
@@ -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
+7 -5
View File
@@ -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