+ def find_top(self, artists):
+ """
+ find top tracks for artists in artists list.
+ """
+ self.to_add = list()
+ nbtracks_target = self.plugin_conf.getint('track_to_add')
+ for artist in artists:
+ if len(self.to_add) == nbtracks_target:
+ return True
+ self.log.info('Looking for a top track for {0}'.format(artist))
+ titles = deque()
+ try:
+ titles = [t for t in self.ws.get_toptrack(artist)]
+ except WSError as err:
+ self.log.warning('{0}: {1}'.format(self.ws.name, err))
+ for trk in titles:
+ found = self.player.fuzzy_find_track(artist, trk.title)
+ random.shuffle(found)
+ if found:
+ self.log.debug('{0}'.format(found[0]))
+ if self.filter_track(found):
+ break
+