Include catalog number in selected release label

This commit is contained in:
Claudio Ortolina
2025-05-24 19:01:43 +01:00
parent 7172551552
commit d666765d18
2 changed files with 30 additions and 2 deletions
+29 -2
View File
@@ -1,6 +1,26 @@
defmodule MusicBrainz.Release do
@enforce_keys [:id, :title, :disambiguation, :artists, :date, :barcode, :country, :media]
defstruct [:id, :title, :disambiguation, :artists, :date, :barcode, :country, :media]
@enforce_keys [
:id,
:title,
:disambiguation,
:artists,
:date,
:barcode,
:catalog_number,
:country,
:media
]
defstruct [
:id,
:title,
:disambiguation,
:artists,
:date,
:barcode,
:catalog_number,
:country,
:media
]
defmodule Artist do
@enforce_keys [:id, :name, :sort_name]
@@ -41,6 +61,7 @@ defmodule MusicBrainz.Release do
artists: parse_artists(r["artist-credit"] || []),
date: r["date"],
barcode: r["barcode"],
catalog_number: parse_catalog_number(r["label-info"] || []),
country: r["country"],
media: parse_media(r["media"] || [])
}
@@ -80,4 +101,10 @@ defmodule MusicBrainz.Release do
}
end)
end
defp parse_catalog_number(label_infos) do
Enum.find_value(label_infos, fn li ->
li["catalog-number"]
end)
end
end
@@ -307,6 +307,7 @@ defmodule MusicLibraryWeb.RecordComponents do
release.date,
release.country |> country_label(),
ReleaseSearchResult.format(release),
release.catalog_number,
release.disambiguation
]
|> Enum.reject(fn fragment -> fragment in [nil, ""] end)