+ postoffice.notify('settings-changed', 'favorites', self.favorites)
+
+ def get_playlist(self, playlist, get_track_objects=True):
+ entry = self.playlists.get(playlist)
+ if entry:
+ if get_track_objects:
+ return [jamaendo.Track(item['id'], item['data']) for item in entry]
+ return entry
+ return None
+
+ def add_to_playlist(self, playlist, track):
+ if isinstance(track, jamaendo.Track):
+ track = {'id':track.ID, 'data':track.get_data()}
+ assert(isinstance(track, dict))
+ lst = self.playlists.get(playlist)
+ if not lst:
+ lst = []
+ self.playlists[playlist] = lst
+ lst.append(track)
+ postoffice.notify('settings-changed', 'playlists', self.playlists)
+ log.debug("playlists is now %s", self.playlists)
+
+ def delete_playlist(self, name):
+ if name in self.playlists:
+ del self.playlists[name]
+ postoffice.notify('settings-changed', 'playlists', self.playlists)