]> kaliko git repositories - mpd-sima.git/blobdiff - sima/plugins/internal/random.py
http client hardcoded caching (workaround for #7)
[mpd-sima.git] / sima / plugins / internal / random.py
index ec17e9a679a0d8a0c3a60a0f092c89029cde0b21..88f959fb6c9ee6da3a37292668c1d790e219bc80 100644 (file)
@@ -55,7 +55,7 @@ class Random(Plugin):
         duration = self.daemon.config.getint('sima', 'history_duration')
         tracks_from_db = self.daemon.sdb.get_history(duration=duration)
         # Construct Track() objects list from database history
-        artists = [tr[-1] for tr in tracks_from_db]
+        artists = [tr[0] for tr in tracks_from_db]
         return set(artists)
 
     def callback_need_track(self):
@@ -82,9 +82,12 @@ class Random(Plugin):
             played_art = self.get_played_artist()
             while artists:
                 art = random.choice(artists)
+                if self.daemon.sdb.get_bl_artist(art, add_not=True):
+                    self.log.debug('Random: Blacklisted "%s"', art)
+                    continue
                 if art not in played_art:
                     break
-                artists.pop(art)
+                artists.remove(art)
         elif self.mode == 'pure':
             art = random.choice(artists)
         if art is None: