"""
# Query History
- def get_history(self, artist=False):
- """Constructs Track list of already played artists.
-
- :param Artist artist: Artist object to look history for
- """
+ def get_history(self):
+ """Returns a Track list of already played artists."""
duration = self.main_conf.getint('sima', 'history_duration')
- name = None
- if artist:
- name = artist.name
- from_db = self.sdb.get_history(duration=duration, artist=name)
- hist = [Track(artist=tr[0], album=tr[1], title=tr[2],
- file=tr[3]) for tr in from_db]
- return hist
+ return self.sdb.fetch_history(duration=duration)
def get_album_history(self, artist):
"""Retrieve album history"""
- hist = []
- tracks_from_db = self.get_history(artist=artist)
- for trk in tracks_from_db:
- if trk.album and trk.album in hist:
- continue
- hist.append(Album(name=trk.album, artist=Artist(trk.artist)))
- return hist
+ duration = self.main_conf.getint('sima', 'history_duration')
+ return self.sdb.fetch_albums_history(needle=artist, duration=duration)
def get_reorg_artists_list(self, alist):
"""
not_queued_artist = alist - queued_artist
duration = self.main_conf.getint('sima', 'history_duration')
hist = []
- for art in self.sdb.get_artists_history(alist, duration=duration):
+ for art in self.sdb.fetch_artists_history(alist, duration=duration):
if art not in hist:
if art not in queued_artist:
hist.insert(0, art)
album)
continue
album_to_queue = album
+ break
if not album_to_queue:
self.log.info('No album found for "%s"', artist)
return None
- self.log.info('%s album candidate: %s - %s', self.__class__.__name__,
- artist, album_to_queue)
+ self.log.info('%s plugin chose album: %s - %s',
+ self.__class__.__name__, artist, album_to_queue)
return album_to_queue
def filter_track(self, tracks, unplayed=False):
deny_list = self.player.playlist
else:
deny_list = self.player.queue
- not_in_hist = list(set(tracks) - set(self.get_history(artist=artist)))
+ not_in_hist = list(set(tracks) - set(self.sdb.fetch_history(artist=artist)))
if not not_in_hist:
self.log.debug('All tracks already played for "%s"', artist)
if unplayed: