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 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 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()