Remove shallow color wrapper
This commit is contained in:
@@ -22,7 +22,6 @@ defmodule MusicLibrary do
|
||||
- `MusicLibrary.ScrobbleRules` - Rules system for normalizing scrobbled track metadata
|
||||
|
||||
### Content and Metadata Management
|
||||
- `MusicLibrary.Colors` - Color extraction from album artwork using fast or slow algorithms
|
||||
- `MusicLibrary.OnlineStoreTemplates` - Configurable templates for generating online store URLs
|
||||
- `MusicLibrary.Secrets` - Encrypted storage for API keys and sensitive configuration
|
||||
"""
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
defmodule MusicLibrary.Colors do
|
||||
alias MusicLibrary.Colors.{ColorFrequencyExtractor, EdgeWeightedExtractor}
|
||||
|
||||
def extract_colors(image_data, :fast) do
|
||||
ColorFrequencyExtractor.extract_dominant_colors(image_data)
|
||||
end
|
||||
|
||||
def extract_colors(image_data, :slow) do
|
||||
EdgeWeightedExtractor.extract_dominant_colors(image_data)
|
||||
end
|
||||
end
|
||||
@@ -1,7 +1,8 @@
|
||||
defmodule MusicLibrary.Worker.ExtractColors do
|
||||
use Oban.Worker, queue: :heavy_writes, max_attempts: 3
|
||||
|
||||
alias MusicLibrary.{Assets, Colors, Records}
|
||||
alias MusicLibrary.{Assets, Records}
|
||||
alias MusicLibrary.Colors.{ColorFrequencyExtractor, EdgeWeightedExtractor}
|
||||
|
||||
@impl Oban.Worker
|
||||
def perform(%Oban.Job{args: %{"id" => record_id, "method" => method}}) do
|
||||
@@ -9,9 +10,15 @@ defmodule MusicLibrary.Worker.ExtractColors do
|
||||
asset = Assets.get!(record.cover_hash)
|
||||
method = String.to_existing_atom(method)
|
||||
|
||||
with {:ok, colors} <- Colors.extract_colors(asset.content, method),
|
||||
with {:ok, colors} <- extract_colors(asset.content, method),
|
||||
{:ok, updated_record} <- Records.update_record(record, %{dominant_colors: colors}) do
|
||||
MusicLibrary.Records.notify_update(updated_record)
|
||||
end
|
||||
end
|
||||
|
||||
defp extract_colors(image_data, :fast),
|
||||
do: ColorFrequencyExtractor.extract_dominant_colors(image_data)
|
||||
|
||||
defp extract_colors(image_data, :slow),
|
||||
do: EdgeWeightedExtractor.extract_dominant_colors(image_data)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user