+ def find_albums(self, artist):
+ """
+ Fetch all albums for "AlbumArtist" == artist
+ Filter albums returned for "artist" == artist since MPD returns any
+ album containing at least a single track for artist
+ """
+ albums = set()
+ albums.update(self.list('album', 'albumartist', artist))
+ for album in self.list('album', 'artist', artist):
+ arts = set([trk.artist for trk in self.find('album', album)])
+ if len(arts) < 2:
+ albums.add(album)
+ else:
+ self.log.debug('"{0}" probably not an album of "{1}"'.format(
+ album, artist) + '({0})'.format('/'.join(arts)))
+ return albums
+