from .utils.leven import levenshtein_ratio
-class PlayerError(Exception):
+class PlayerError(MPDError):
"""Fatal error in the player."""
for name in artist.names:
tracks |= set(self.find('artist', name))
# album blocklist
- albums = {Album(trk.album, mbid=trk.musicbrainz_albumid)
+ albums = {Album(trk.Album.name, mbid=trk.musicbrainz_albumid)
for trk in tracks}
bl_albums = {Album(a.get('album'), mbid=a.get('musicbrainz_album'))
for a in self.database.view_bl() if a.get('album')}
candidates = []
for album in albums:
album_trks = self.find_tracks(album)
+ if not album_trks: # find_track result can be empty, blocklist applied
+ continue
album_artists = {tr.albumartist for tr in album_trks if tr.albumartist}
if album.Artist.names & album_artists:
candidates.append(album)
self.log.debug('"%s" probably not an album of "%s" (ratio=%.2f)',
album, artist, ratio)
continue
- for alb in albums:
- if self.database.get_bl_album(album, add=False):
- candidates.remove(album)
return candidates
# #### / Search Methods ###