diff --git a/data/interfaces/default/artist.html b/data/interfaces/default/artist.html
index 9ded40dc..241df532 100644
--- a/data/interfaces/default/artist.html
+++ b/data/interfaces/default/artist.html
@@ -13,7 +13,11 @@
%else:
Pause Artist
%endif
- Get Extras
+ %if artist['IncludeExtras']:
+ Remove Extras
+ %else:
+ Get Extras
+ %endif
%def>
diff --git a/data/interfaces/remix/artist.html b/data/interfaces/remix/artist.html
index 9ded40dc..241df532 100644
--- a/data/interfaces/remix/artist.html
+++ b/data/interfaces/remix/artist.html
@@ -13,7 +13,11 @@
%else:
Pause Artist
%endif
- Get Extras
+ %if artist['IncludeExtras']:
+ Remove Extras
+ %else:
+ Get Extras
+ %endif
%def>
diff --git a/headphones/searcher.py b/headphones/searcher.py
index cf25b050..00cbfeb0 100644
--- a/headphones/searcher.py
+++ b/headphones/searcher.py
@@ -435,6 +435,9 @@ def verifyresult(title, term):
title = re.sub('[\.\-\/\_]', ' ', title)
+ if term == 'Various Artists':
+ return True
+
if not re.search('^' + re.escape(term), title, re.IGNORECASE):
logger.info("Removed from results: " + title + " (artist not at string start).")
return False
diff --git a/headphones/webserve.py b/headphones/webserve.py
index 707c2436..7be70060 100644
--- a/headphones/webserve.py
+++ b/headphones/webserve.py
@@ -85,6 +85,18 @@ class WebInterface(object):
raise cherrypy.HTTPRedirect("artistPage?ArtistID=%s" % ArtistID)
getExtras.exposed = True
+ def removeExtras(self, ArtistID):
+ myDB = db.DBConnection()
+ controlValueDict = {'ArtistID': ArtistID}
+ newValueDict = {'IncludeExtras': 0}
+ myDB.upsert("artists", newValueDict, controlValueDict)
+ extraalbums = myDB.select('SELECT AlbumID from albums WHERE ArtistID=? AND Type!="Album"', [ArtistID])
+ for album in extraalbums:
+ myDB.action('DELETE from tracks WHERE ArtistID=? AND AlbumID=?', [ArtistID, album['AlbumID']])
+ myDB.action('DELETE from albums WHERE ArtistID=? AND AlbumID=?', [ArtistID, album['AlbumID']])
+ raise cherrypy.HTTPRedirect("artistPage?ArtistID=%s" % ArtistID)
+ removeExtras.exposed = True
+
def pauseArtist(self, ArtistID):
logger.info(u"Pausing artist: " + ArtistID)
myDB = db.DBConnection()