From e22194284d98a94fbaa3f5b92f341022d283c480 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Thu, 24 Dec 2009 04:11:09 +0100 Subject: [PATCH] Rename some backend methods --- mopidy/backends/base.py | 20 +++++++++++--------- mopidy/backends/spotify.py | 26 +++++++++++++++----------- mopidy/handler.py | 6 +++--- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/mopidy/backends/base.py b/mopidy/backends/base.py index 17a74bd3..ed8ef0ef 100644 --- a/mopidy/backends/base.py +++ b/mopidy/backends/base.py @@ -3,15 +3,6 @@ class BaseBackend(object): def current_song(self): return None - def list_playlists(self): - return None - - def playlist_changes(self, version): - return None - - def load(self, name): - pass - # Status methods def status_volume(self): return 0 @@ -43,3 +34,14 @@ class BaseBackend(object): # Control methods def stop(self): pass + +# Current/single playlist methods + def playlist_changes(self, version): + return None + + def playlist_load(self, name): + pass + +# Stored playlist methods + def playlists_list(self): + return None diff --git a/mopidy/backends/spotify.py b/mopidy/backends/spotify.py index a5e88624..1b9e6866 100644 --- a/mopidy/backends/spotify.py +++ b/mopidy/backends/spotify.py @@ -9,19 +9,23 @@ class SpotifyBackend(BaseBackend): self.spotify = spytify.Spytify( settings.SPOTIFY_USERNAME.encode('utf-8'), settings.SPOTIFY_PASSWORD.encode('utf-8')) + self._playlist_load_cache = None - def list_playlists(self): - playlists = u'' + def playlist_load(self, name): + if not self._playlist_load_cache: + for playlist in self.spotify.stored_playlists: + if playlist.name == name: + tracks = [] + for track in playlist.tracks: + tracks.append(u'add %s\n' % track.file_id) + self._playlist_load_cache = tracks + break + return self._playlist_load_cache + + def playlists_list(self): + playlists = [] for playlist in self.spotify.stored_playlists: - playlists += u'playlist: %s\n' % playlist.name.decode('utf-8') + playlists.append(u'playlist: %s' % playlist.name.decode('utf-8')) return playlists - def load(self, name): - for playlist in self.spotify.stored_playlists: - if playlist.name == 'name': - break - tracks = u'' - for track in playlist.tracks: - tracks += u'add %s\n' % track.file_id - return tracks diff --git a/mopidy/handler.py b/mopidy/handler.py index 66f601a9..40e5e5af 100644 --- a/mopidy/handler.py +++ b/mopidy/handler.py @@ -105,18 +105,18 @@ class MpdHandler(object): @register(r'^listplaylists$') def _listplaylists(self): - return self.backend.list_playlists() + return self.backend.playlists_list() @register(r'^load (?P.+)$') def _load(self, name): - self.backend.load(name) - pass # TODO + return self.backend.playlist_load(name) @register(r'^lsinfo( "(?P[^"]*)")*$') def _lsinfo(self, uri): if uri == u'/': return self._listplaylists() pass # TODO + return self._listplaylists() @register(r'^move ((?P\d+)|(?P\d+):(?P\d+)*) (?P\d+)$') def _move(self, songpos=None, start=None, end=None, to=None):