Skip to content

Commit

Permalink
When tracklist changes, clense unmatching metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
jaedb committed Feb 14, 2017
1 parent 9401289 commit 4ccc564
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion mopidy_iris/frontend.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ def refresh_spotify_token( self ):
##
def track_playback_ended( self, tl_track, time_position ):
self.check_for_radio_update()

def tracklist_changed( self ):
self.clean_queue_metadata()


##
Expand Down Expand Up @@ -212,9 +215,31 @@ def add_queue_metadata( self, tlids, added_from, added_by ):
pusher.broadcast('queue_metadata', {'queue_metadata': self.queue_metadata})

return self.queue_metadata

# fetch our tracklist, and remove any metadata for tlids that don't exist anymore
def clean_queue_metadata( self ):

cleaned_queue_metadata = {}

# get and loop all tltracks
for tltrack in self.core.tracklist.get_tl_tracks().get():

# if we have metadata for this track, push it through to cleaned dictionary
if 'tlid_'+str(tltrack.tlid) in self.queue_metadata:
cleaned_queue_metadata['tlid_'+str(tltrack.tlid)] = self.queue_metadata['tlid_'+str(tltrack.tlid)]

# update our cleaned store
self.queue_metadata = cleaned_queue_metadata

# broadcast to all clients
pusher.broadcast('queue_metadata', {'queue_metadata': self.queue_metadata})


# get our config values
##
# System configuration
#
# This enables Iris to respect system config
##
def get_config( self ):
all_config = self.config
config = {
Expand Down

0 comments on commit 4ccc564

Please sign in to comment.