]> kaliko git repositories - mpd-sima.git/blobdiff - sima/mpdclient.py
Use Track Album attribute to avoid missing album name
[mpd-sima.git] / sima / mpdclient.py
index 0883b009e8f45826226f66694f9c7b3ba754a634..539f8b83b62b37ac2f8e15f45a6528d585db903d 100644 (file)
@@ -316,7 +316,7 @@ class MPD(MPDClient):
         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')}
@@ -517,6 +517,8 @@ class MPD(MPDClient):
         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)
@@ -548,9 +550,6 @@ class MPD(MPDClient):
                 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 ###