Include catalog number in selected release label
This commit is contained in:
@@ -1,6 +1,26 @@
|
|||||||
defmodule MusicBrainz.Release do
|
defmodule MusicBrainz.Release do
|
||||||
@enforce_keys [:id, :title, :disambiguation, :artists, :date, :barcode, :country, :media]
|
@enforce_keys [
|
||||||
defstruct [:id, :title, :disambiguation, :artists, :date, :barcode, :country, :media]
|
:id,
|
||||||
|
:title,
|
||||||
|
:disambiguation,
|
||||||
|
:artists,
|
||||||
|
:date,
|
||||||
|
:barcode,
|
||||||
|
:catalog_number,
|
||||||
|
:country,
|
||||||
|
:media
|
||||||
|
]
|
||||||
|
defstruct [
|
||||||
|
:id,
|
||||||
|
:title,
|
||||||
|
:disambiguation,
|
||||||
|
:artists,
|
||||||
|
:date,
|
||||||
|
:barcode,
|
||||||
|
:catalog_number,
|
||||||
|
:country,
|
||||||
|
:media
|
||||||
|
]
|
||||||
|
|
||||||
defmodule Artist do
|
defmodule Artist do
|
||||||
@enforce_keys [:id, :name, :sort_name]
|
@enforce_keys [:id, :name, :sort_name]
|
||||||
@@ -41,6 +61,7 @@ defmodule MusicBrainz.Release do
|
|||||||
artists: parse_artists(r["artist-credit"] || []),
|
artists: parse_artists(r["artist-credit"] || []),
|
||||||
date: r["date"],
|
date: r["date"],
|
||||||
barcode: r["barcode"],
|
barcode: r["barcode"],
|
||||||
|
catalog_number: parse_catalog_number(r["label-info"] || []),
|
||||||
country: r["country"],
|
country: r["country"],
|
||||||
media: parse_media(r["media"] || [])
|
media: parse_media(r["media"] || [])
|
||||||
}
|
}
|
||||||
@@ -80,4 +101,10 @@ defmodule MusicBrainz.Release do
|
|||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp parse_catalog_number(label_infos) do
|
||||||
|
Enum.find_value(label_infos, fn li ->
|
||||||
|
li["catalog-number"]
|
||||||
|
end)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -307,6 +307,7 @@ defmodule MusicLibraryWeb.RecordComponents do
|
|||||||
release.date,
|
release.date,
|
||||||
release.country |> country_label(),
|
release.country |> country_label(),
|
||||||
ReleaseSearchResult.format(release),
|
ReleaseSearchResult.format(release),
|
||||||
|
release.catalog_number,
|
||||||
release.disambiguation
|
release.disambiguation
|
||||||
]
|
]
|
||||||
|> Enum.reject(fn fragment -> fragment in [nil, ""] end)
|
|> Enum.reject(fn fragment -> fragment in [nil, ""] end)
|
||||||
|
|||||||
Reference in New Issue
Block a user