diff --git a/data/interfaces/default/manage.html b/data/interfaces/default/manage.html index db682780..7a7fb14a 100644 --- a/data/interfaces/default/manage.html +++ b/data/interfaces/default/manage.html @@ -34,7 +34,7 @@
@@ -117,7 +117,19 @@ Force Update Active Artists Force Post-Process Albums in Download Folder Check for Headphones Updates - Delete empty Artists + Delete empty Artists +
@@ -131,6 +143,10 @@ $('#dialog').dialog(); return false; }); + $('#delete_empty_artists').click(function() { + $('#emptyartistdialog').dialog(); + return false; + }); jQuery( "#tabs" ).tabs(); initActions(); }; diff --git a/headphones/webserve.py b/headphones/webserve.py index 0f1e65c3..01eb83f0 100644 --- a/headphones/webserve.py +++ b/headphones/webserve.py @@ -188,24 +188,26 @@ class WebInterface(object): myDB.action('DELETE from artists WHERE ArtistID=?', [ArtistID]) myDB.action('DELETE from albums WHERE ArtistID=?', [ArtistID]) myDB.action('DELETE from tracks WHERE ArtistID=?', [ArtistID]) + myDB.action('DELETE from allalbums WHERE ArtistID=?', [ArtistID]) + myDB.action('DELETE from alltracks WHERE ArtistID=?', [ArtistID]) myDB.action('INSERT OR REPLACE into blacklist VALUES (?)', [ArtistID]) raise cherrypy.HTTPRedirect("home") deleteArtist.exposed = True - def deleteEmptyArtists(self): logger.info(u"Deleting all empty artists") myDB = db.DBConnection() - emptyArtistIDs = [row['ArtistID'] for row in myDB.select("SELECT ArtistID FROM artists WHERE HaveTracks == 0")] + emptyArtistIDs = [row['ArtistID'] for row in myDB.select("SELECT ArtistID FROM artists WHERE LatestAlbum IS NULL")] for ArtistID in emptyArtistIDs: logger.info(u"Deleting all traces of artist: " + ArtistID) myDB.action('DELETE from artists WHERE ArtistID=?', [ArtistID]) myDB.action('DELETE from albums WHERE ArtistID=?', [ArtistID]) myDB.action('DELETE from tracks WHERE ArtistID=?', [ArtistID]) + myDB.action('DELETE from allalbums WHERE ArtistID=?', [ArtistID]) + myDB.action('DELETE from alltracks WHERE ArtistID=?', [ArtistID]) myDB.action('INSERT OR REPLACE into blacklist VALUES (?)', [ArtistID]) deleteEmptyArtists.exposed = True - - + def refreshArtist(self, ArtistID): threading.Thread(target=importer.addArtisttoDB, args=[ArtistID]).start() raise cherrypy.HTTPRedirect("artistPage?ArtistID=%s" % ArtistID) @@ -293,7 +295,9 @@ class WebInterface(object): upcoming.exposed = True def manage(self): - return serve_template(templatename="manage.html", title="Manage") + myDB = db.DBConnection() + emptyArtists = myDB.select("SELECT * FROM artists WHERE LatestAlbum IS NULL") + return serve_template(templatename="manage.html", title="Manage", emptyArtists=emptyArtists) manage.exposed = True def manageArtists(self):