Show release metadata after scanning

This commit is contained in:
Claudio Ortolina
2025-02-15 17:56:48 +00:00
parent 337b1bb75d
commit bb6e805e7b
4 changed files with 149 additions and 14 deletions
+25
View File
@@ -19,6 +19,18 @@ defmodule MusicBrainz.ReleaseSearchResult do
}
end
def format(release_search_result) do
sorted_frequencies =
release_search_result.media
|> Enum.frequencies_by(& &1.format)
|> Enum.sort_by(fn {_, count} -> count end)
case sorted_frequencies do
[{format, _}] -> parse_format(format)
_ -> :multi
end
end
defp parse_release_group(rg) do
%{
id: rg["id"],
@@ -36,4 +48,17 @@ defmodule MusicBrainz.ReleaseSearchResult do
}
end)
end
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(maybe_vinyl) do
if String.contains?(maybe_vinyl, "Vinyl") do
:vinyl
else
:unknown
end
end
end