# -*- coding: utf-8 -*-
-# Copyright (c) 2009-2014 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2009-2015 Jack Kaliko <kaliko@azylum.org>
#
# This file is part of sima
#
results.append(res)
return results
- def ws_similar_artists(self, artist=None):
+ def ws_similar_artists(self, artist):
"""
Retrieve similar artists from WebServive.
"""
try:
[as_art.append(art) for art in as_artists]
except WSNotFound as err:
- if artist.mbid:
- return self.ws_similar_artists(Artist(name=artist.name))
self.log.warning('{}: {}'.format(self.ws.name, err))
+ if artist.mbid:
+ self.log.debug('Trying without MusicBrainzID')
+ try:
+ return self.ws_similar_artists(Artist(name=artist.name))
+ except WSNotFound as err:
+ self.log.debug('{}: {}'.format(self.ws.name, err))
except WSError as err:
self.log.warning('{}: {}'.format(self.ws.name, err))
if as_art:
if not ret:
self.log.warning('Got nothing from music library.')
return []
- # WARNING:
- # * operation on set will not match against aliases
- # * composite set w/ mbid set and whitout won't match either
queued_artists = MetaContainer([trk.Artist for trk in self.player.queue])
+ self.log.trace('Already queued: {}'.format(queued_artists))
+ self.log.trace('Candidate: {}'.format(ret))
if ret & queued_artists:
self.log.debug('Removing already queued artists: '
'{0}'.format('/'.join(map(str, ret & queued_artists))))
self.to_add = list()
nbtracks_target = self.plugin_conf.getint('track_to_add')
for artist in artists:
- artist = Artist(name=artist)
if len(self.to_add) == nbtracks_target:
return True
self.log.info('Looking for a top track for {0}'.format(artist))