From 2ee1706c1af044efa3749e585ffd1c8a8eb7d8a1 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 9 Sep 2025 13:30:13 +0300 Subject: [PATCH] Skip now playing tracks when pulling from Last.fm --- lib/last_fm/track.ex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/last_fm/track.ex b/lib/last_fm/track.ex index 487a82c5..59e962a7 100644 --- a/lib/last_fm/track.ex +++ b/lib/last_fm/track.ex @@ -36,7 +36,9 @@ defmodule LastFm.Track do end def from_api_response(raw_tracks) do - Enum.map(raw_tracks, fn t -> + raw_tracks + |> Enum.reject(&now_playing?/1) + |> Enum.map(fn t -> album = %Album{ musicbrainz_id: t["album"]["mbid"], title: t["album"]["#text"] @@ -60,6 +62,10 @@ defmodule LastFm.Track do end) end + defp now_playing?(raw_track) do + get_in(raw_track, ["@attr", "nowplaying"]) == "true" + end + defp parse_cover_url(track) do track["image"] |> Enum.find(%{"#text" => nil}, fn i -> i["size"] == "medium" end)