+ 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') # pylint: disable=no-member
+ 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('%s: %s', 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('%s', found[0])
+ if self.filter_track(found):
+ break
+