Count unique catalog entries in collection summary

The record_count now reflects the number of grouped catalog lines
the model sees, not raw DB rows. Two copies of the same album on
different formats count as 1 catalog entry.
This commit is contained in:
Claudio Ortolina
2026-04-13 13:12:30 +01:00
parent 76438360d7
commit 9b44b7050f
2 changed files with 5 additions and 6 deletions
+4 -5
View File
@@ -203,16 +203,15 @@ defmodule MusicLibrary.Collection do
) )
|> Repo.all() |> Repo.all()
record_count = length(records) groups =
summary =
records records
|> Enum.group_by(& &1.musicbrainz_id) |> Enum.group_by(& &1.musicbrainz_id)
|> Enum.map(fn {_id, group} -> format_group(group) end) |> Enum.map(fn {_id, group} -> format_group(group) end)
|> Enum.sort() |> Enum.sort()
|> Enum.join("\n")
{summary, record_count} summary = Enum.join(groups, "\n")
{summary, length(groups)}
end end
defp format_group(records) do defp format_group(records) do
+1 -1
View File
@@ -366,7 +366,7 @@ defmodule MusicLibrary.CollectionTest do
{summary, record_count} = Collection.collection_summary() {summary, record_count} = Collection.collection_summary()
lines = String.split(summary, "\n") lines = String.split(summary, "\n")
assert record_count == 2 assert record_count == 1
assert length(lines) == 1 assert length(lines) == 1
assert hd(lines) =~ "cd/vinyl" assert hd(lines) =~ "cd/vinyl"
end end