X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fmpdclient.py;fp=sima%2Fmpdclient.py;h=6b5b9767e95dd3eca58e3e1c6a16d7763da66c88;hb=28caa80fbddaca9c7bb83a9d72dfba8130f16e44;hp=fbd8cd8b32a157d778fd6e920c50f769b12657b3;hpb=d1ab072afd8e59267b7cad0e679a4d947fe7fd19;p=mpd-sima.git diff --git a/sima/mpdclient.py b/sima/mpdclient.py index fbd8cd8..6b5b976 100644 --- a/sima/mpdclient.py +++ b/sima/mpdclient.py @@ -59,7 +59,10 @@ def set_artist_mbid(func): result = func(*args, **kwargs) if Meta.use_mbid: if result and not result.mbid: - result.mbid = cls._find_musicbrainz_artistid(result) + mbid = cls._find_musicbrainz_artistid(result) + artist = Artist(name=result.name, mbid=mbid) + artist.add_alias(result) + return artist return result return wrapper @@ -368,8 +371,13 @@ class MPD(MPDClient): """ if not self.use_mbid: return None - mbids = self.list('MUSICBRAINZ_ARTISTID', - f'(artist == "{artist.name_sz}")') + mbids = None + for name in artist.names_sz: + self.log.debug(name) + filt = f'((artist == "{name}") AND (MUSICBRAINZ_ARTISTID != ""))' + mbids = self.list('MUSICBRAINZ_ARTISTID', filt) + if mbids: + break if not mbids: return None if len(mbids) > 1: