'artists': None,
'nombid_artists': None,
}
- self._cache['artists'] = frozenset(self._client.list('artist'))
- self._cache['nombid_artists'] = frozenset(self._client.list('artist', 'musicbrainz_artistid', ''))
+ self._cache['artists'] = frozenset(self._execute('list', ['artist']))
+ if Artist.use_mbid:
+ self._cache['nombid_artists'] = frozenset(self._execute('list', ['artist', 'musicbrainz_artistid', '']))
@blacklist(track=True)
def find_track(self, artist, title=None):
found = False
if artist.mbid:
# look for exact search w/ musicbrainz_artistid
- exact_m = self._client.list('artist', 'musicbrainz_artistid', artist.mbid)
+ exact_m = self._execute('list', ['artist', 'musicbrainz_artistid', artist.mbid])
if exact_m:
[artist.add_alias(name) for name in exact_m]
found = True
arts = set([trk.artist for trk in album_trks])
if len(set(arts)) < 2: # TODO: better heuristic, use a ratio instead
if album not in albums:
- albums.append(Album(name=album, albumartist=artist))
+ albums.append(Album(name=album, **kwalbart))
elif album and album not in albums:
self.log.debug('"{0}" probably not an album of "{1}"'.format(
album, artist) + '({0})'.format('/'.join(arts)))
def add(self, track):
"""Overriding MPD's add method to accept add signature with a Track
object"""
- self._client.add(track.file)
+ self._execute('add', [track.file])
@property
def artists(self):
- return self._cache.get('artists')
+ return self._cache.get('artists') | self._cache.get('nombid_artists')
@property
def state(self):