if len(library) > 1:
self.log.debug('I got "%s" searching for %r', library, artist)
elif len(library) == 1 and library[0] != artist.name:
+ new_alias = artist.name
self.log.info('Update artist name %s->%s', artist, library[0])
+ self.log.debug('Also add alias for %s: %s', artist, new_alias)
artist = Artist(name=library[0], mbid=artist.mbid)
+ artist.add_alias(new_alias)
# Fetches remaining artists for potential match
artists = self._cache['nombid_artists']
else: # not using MusicBrainzIDs
looking for albums for Artist_B returns wrongly this album.
"""
# First, look for all potential albums
- self.log.debug('Searching album for "%s"', artist)
+ self.log.debug('Searching album for "%r"', artist)
if artist.aliases:
self.log.debug('Searching album for %s aliases: "%s"',
artist, artist.aliases)
for name_sz in artist.names_sz:
- raw_albums = self.list('album', f"( albumartist == '{name_sz}')")
- albums = [Album(a, albumartist=artist.name, artist=artist) for a in raw_albums if a]
+ mpd_filter = f"((albumartist == '{name_sz}') AND ( album != ''))"
+ raw_albums = self.list('album', mpd_filter)
+ albums = [Album(a, albumartist=artist.name, artist=artist) for a in raw_albums]
candidates = []
for album in albums:
album_trks = self.find_tracks(album)