]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/webserv.py
Add random.shuffle to track list
[mpd-sima.git] / sima / lib / webserv.py
index fd15815b8b65ce2001d9f9b6a79098dd33c9e472..30a7eac376bf8b8d0b40a12635d8d055dd8f32ec 100644 (file)
@@ -195,6 +195,8 @@ class WebService(Plugin):
         history = deque(self.history)
         history.popleft()
         depth = 0
+        if not self.player.playlist:
+            return ret_extra
         last_trk = self.player.playlist[-1]
         extra_arts = list()
         while depth < self.plugin_conf.getint('depth'):
@@ -222,6 +224,8 @@ class WebService(Plugin):
     def get_local_similar_artists(self):
         """Check against local player for similar artists
         """
+        if not self.player.playlist:
+            return []
         tolookfor = self.player.playlist[-1].get_artist()
         self.log.info('Looking for artist similar '
                       'to "{0.artist}"'.format(self.player.playlist[-1]))
@@ -322,6 +326,7 @@ class WebService(Plugin):
                 self.log.info('{0.name} ratelimit: {0.ratelimit}'.format(self.ws))
             for trk in titles:
                 found = self.player.fuzzy_find_track(artist.name, trk.title)
+                random.shuffle(found)
                 if found:
                     self.log.debug('{0}'.format(found[0]))
                     if self.filter_track(found):
@@ -336,6 +341,7 @@ class WebService(Plugin):
             self.log.debug('Trying to find titles to add for "{}"'.format(
                            artist))
             found = self.player.find_track(artist)
+            random.shuffle(found)
             if not found:
                 self.log.debug('Found nothing to queue for {0}'.format(artist))
                 continue