X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fplugins%2Finternal%2Frandom.py;h=88f959fb6c9ee6da3a37292668c1d790e219bc80;hb=cfe6dafed6e43714316c39c401475ed840e66a02;hp=ec17e9a679a0d8a0c3a60a0f092c89029cde0b21;hpb=0248e11c84a42df201feda6aa62062dc8c1df330;p=mpd-sima.git diff --git a/sima/plugins/internal/random.py b/sima/plugins/internal/random.py index ec17e9a..88f959f 100644 --- a/sima/plugins/internal/random.py +++ b/sima/plugins/internal/random.py @@ -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: