Don't extract dominant colors if provided in params
This as the side effect of massively speeding up the test suite: on M1, it goes from 24 seconds to 14.
This commit is contained in:
@@ -330,6 +330,9 @@ defmodule MusicLibrary.Records do
|
|||||||
enqueue_worker(Worker.RefreshCover, %{"id" => record.id}, record_meta(record))
|
enqueue_worker(Worker.RefreshCover, %{"id" => record.id}, record_meta(record))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp maybe_extract_colors(%{dominant_colors: [_ | _]} = record), do: {:ok, record}
|
||||||
|
defp maybe_extract_colors(record), do: extract_colors(record)
|
||||||
|
|
||||||
@spec extract_colors(Record.t()) :: {:ok, Record.t()} | {:error, term()}
|
@spec extract_colors(Record.t()) :: {:ok, Record.t()} | {:error, term()}
|
||||||
def extract_colors(record) do
|
def extract_colors(record) do
|
||||||
asset = Assets.get!(record.cover_hash)
|
asset = Assets.get!(record.cover_hash)
|
||||||
@@ -409,7 +412,7 @@ defmodule MusicLibrary.Records do
|
|||||||
@spec create_record(map()) :: {:ok, Record.t()} | {:error, Ecto.Changeset.t()}
|
@spec create_record(map()) :: {:ok, Record.t()} | {:error, Ecto.Changeset.t()}
|
||||||
def create_record(attrs \\ %{}) do
|
def create_record(attrs \\ %{}) do
|
||||||
with {:ok, record} <- do_create_record(attrs) do
|
with {:ok, record} <- do_create_record(attrs) do
|
||||||
{:ok, record} = extract_colors(record)
|
{:ok, record} = maybe_extract_colors(record)
|
||||||
generate_embedding_async(record)
|
generate_embedding_async(record)
|
||||||
|
|
||||||
record
|
record
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ defmodule MusicLibrary.Fixtures.Records do
|
|||||||
release_date: Enum.random(1969..2024) |> Integer.to_string(),
|
release_date: Enum.random(1969..2024) |> Integer.to_string(),
|
||||||
purchased_at: current_time,
|
purchased_at: current_time,
|
||||||
artists: [artist_attrs(artist_name)],
|
artists: [artist_attrs(artist_name)],
|
||||||
dominant_colors: ["#000000", "#C0C0C0", "#C08080", "#404000", "#804040"]
|
dominant_colors: ["#000000", "#c0c0c0", "#c08080", "#404000", "#804040"]
|
||||||
})
|
})
|
||||||
|> MusicLibrary.Records.create_record()
|
|> MusicLibrary.Records.create_record()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user