From b11610faceb031c1b37a4f10e2b5ff880c3d7eb8 Mon Sep 17 00:00:00 2001 From: Jens Rogier Date: Fri, 18 Apr 2014 10:40:15 +0200 Subject: [PATCH] Fixed major mistake where tracklisting on the index would count the total tracks of the whole database when updating albums of the particular artist. --- headphones/webserve.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/headphones/webserve.py b/headphones/webserve.py index 517104ab..da747a58 100644 --- a/headphones/webserve.py +++ b/headphones/webserve.py @@ -269,7 +269,11 @@ class WebInterface(object): searcher.searchforalbum(mbid, new=True) if action == 'WantedLossless': searcher.searchforalbum(mbid, lossless=True) - myDB.action('UPDATE artists SET TotalTracks=(SELECT COUNT(*) FROM tracks, artists WHERE tracks.ArtistName = artists.ArtistName AND AlbumTitle IN (SELECT AlbumTitle FROM albums WHERE Status != "Ignored")) WHERE ArtistID=(SELECT ArtistID FROM albums WHERE AlbumID=?)', [mbid]) + if ArtistID: + ArtistIDT = ArtistID + else: + ArtistIDT = myDB.action('SELECT ArtistID FROM albums WHERE AlbumID=?', [mbid]).fetchone()[0] + myDB.action('UPDATE artists SET TotalTracks=(SELECT COUNT(*) FROM tracks WHERE ArtistID = ? AND AlbumTitle IN (SELECT AlbumTitle FROM albums WHERE Status != "Ignored")) WHERE ArtistID=(SELECT ArtistID FROM albums WHERE AlbumID=?)', [ArtistIDT, mbid]) if ArtistID: raise cherrypy.HTTPRedirect("artistPage?ArtistID=%s" % ArtistID) else: