Add logic to import a batch of Last.fm tracks
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
defmodule LastFm.Import do
|
||||
@insertable_fields [
|
||||
:musicbrainz_id,
|
||||
:title,
|
||||
:artist,
|
||||
:album,
|
||||
:cover_url,
|
||||
:scrobbled_at_uts,
|
||||
:scrobbled_at_label,
|
||||
:last_fm_data
|
||||
]
|
||||
|
||||
def batch(uts_to) do
|
||||
with {:ok, tracks} <- LastFm.get_tracks(uts_to) do
|
||||
track_params =
|
||||
tracks
|
||||
|> Enum.map(fn t -> Map.take(t, @insertable_fields) end)
|
||||
|> Enum.map(&Map.to_list/1)
|
||||
|
||||
MusicLibrary.Repo.insert_all(LastFm.Track, track_params)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user