From 63df9f30d284fbfbb99cf82c87d6f44bc6fddb79 Mon Sep 17 00:00:00 2001 From: simon987 Date: Thu, 18 Jun 2020 21:02:37 -0400 Subject: [PATCH] Add spotify album name --- config.py | 2 +- mb_scratch.sql | 5 +++-- task_get_spotify.py | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/config.py b/config.py index 3e90498..5b38ab5 100644 --- a/config.py +++ b/config.py @@ -5,7 +5,7 @@ config = { "USER": "musicbrainz", "PASSWORD": "musicbrainz", "HOST": "127.0.0.1", - "PORT": 5433, + "PORT": 5432, "LASTFM_APIKEY": os.environ.get("LASTFM_APIKEY"), "LASTFM_USER": os.environ.get("LASTFM_USER"), diff --git a/mb_scratch.sql b/mb_scratch.sql index 2efc07a..689144f 100644 --- a/mb_scratch.sql +++ b/mb_scratch.sql @@ -131,8 +131,8 @@ SELECT gid as "id:ID(Artist)", fn_sortname(artist.name, sort_name) as sortname, COALESCE(begin_date_year, 0) as "year:int", comment, - COALESCE(lfm.listeners, 0) as "listeners", - COALESCE(lfm.playcount, 0) as "playcount", + COALESCE(lfm.listeners, 0) as "listeners:int", + COALESCE(lfm.playcount, 0) as "playcount:int", (CASE WHEN type = 2 THEN 'Group' ELSE 'Artist' END) as ":LABEL" FROM artist LEFT JOIN mg.lastfm_artist lfa ON lfa.mbid = artist.gid @@ -417,6 +417,7 @@ CREATE TABLE mg.spotify_artist_track ( spotid TEXT, track TEXT, + album TEXT, url TEXT, PRIMARY KEY (spotid, track) ); diff --git a/task_get_spotify.py b/task_get_spotify.py index 7384e1b..f893716 100755 --- a/task_get_spotify.py +++ b/task_get_spotify.py @@ -79,13 +79,13 @@ def get_tracks(conn, spotify, spotid): for track in data["tracks"]: if track["name"] in done: continue - unique_tracks.append((track["name"], track["preview_url"])) + unique_tracks.append((track["name"], track["album"]["name"], track["preview_url"])) done.add(track["name"]) if unique_tracks: cur.execute( - "INSERT INTO mg.spotify_artist_track (spotid, track, url) VALUES %s" % - ",".join("('%s', '%s', '%s')" % (i, t[0].replace("'", "''"), t[1]) + "INSERT INTO mg.spotify_artist_track (spotid, track, album, url) VALUES %s" % + ",".join("('%s', '%s', '%s', '%s')" % (i, t[0].replace("'", "''"), t[1].replace("'", "''"), t[2]) for (i, t) in zip(repeat(spotid), unique_tracks)) )