Move fallback cover handling into Cover module
This commit is contained in:
@@ -185,7 +185,7 @@ defmodule MusicLibrary.Records do
|
|||||||
{:musicbrainz_id, musicbrainz_id},
|
{:musicbrainz_id, musicbrainz_id},
|
||||||
music_brainz_config()
|
music_brainz_config()
|
||||||
) do
|
) do
|
||||||
{:error, :cover_not_available} -> {:ok, Record.fallback_cover_data()}
|
{:error, :cover_not_available} -> {:ok, Cover.fallback_data()}
|
||||||
{:ok, cover_data} -> Cover.resize(cover_data)
|
{:ok, cover_data} -> Cover.resize(cover_data)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
defmodule MusicLibrary.Records.Cover do
|
defmodule MusicLibrary.Records.Cover do
|
||||||
@size 600
|
@size 600
|
||||||
|
|
||||||
|
@fallback_path :code.priv_dir(:music_library)
|
||||||
|
|> Path.join("/cover-not-found.jpg")
|
||||||
|
|
||||||
|
@external_resource @fallback_path
|
||||||
|
|
||||||
|
@fallback_data File.read!(@fallback_path)
|
||||||
|
|
||||||
|
def fallback_data, do: @fallback_data
|
||||||
|
|
||||||
def resize(cover_data, size \\ @size) do
|
def resize(cover_data, size \\ @size) do
|
||||||
{:ok, thumb} = Vix.Vips.Operation.thumbnail_buffer(cover_data, size)
|
{:ok, thumb} = Vix.Vips.Operation.thumbnail_buffer(cover_data, size)
|
||||||
Vix.Vips.Image.write_to_buffer(thumb, ".jpg")
|
Vix.Vips.Image.write_to_buffer(thumb, ".jpg")
|
||||||
|
|||||||
@@ -138,15 +138,6 @@ defmodule MusicLibrary.Records.Record do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@fallback_cover_path :code.priv_dir(:music_library)
|
|
||||||
|> Path.join("/cover-not-found.jpg")
|
|
||||||
|
|
||||||
@external_resource @fallback_cover_path
|
|
||||||
|
|
||||||
@fallback_cover_data File.read!(@fallback_cover_path)
|
|
||||||
|
|
||||||
def fallback_cover_data, do: @fallback_cover_data
|
|
||||||
|
|
||||||
defp extract_included_release_group_ids(musicbrainz_data) do
|
defp extract_included_release_group_ids(musicbrainz_data) do
|
||||||
musicbrainz_data
|
musicbrainz_data
|
||||||
|> Map.get("relations", [])
|
|> Map.get("relations", [])
|
||||||
|
|||||||
Reference in New Issue
Block a user