diff --git a/mopidy/backends/backend.py b/mopidy/backends/backend.py index c8847622..c95fe685 100644 --- a/mopidy/backends/backend.py +++ b/mopidy/backends/backend.py @@ -9,6 +9,7 @@ class BaseBackend(object): def playlist_changes(self, version): return None +# Status methods def status_volume(self): return 0 @@ -35,3 +36,7 @@ class BaseBackend(object): def status_state(self): return 'stop' + +# Control methods + def stop(self): + pass diff --git a/mopidy/backends/spotify_backend.py b/mopidy/backends/spotify_backend.py new file mode 100644 index 00000000..33b83312 --- /dev/null +++ b/mopidy/backends/spotify_backend.py @@ -0,0 +1,15 @@ +import spytify + +from mopidy import settings +from mopidy.backends.backend import BaseBackend + +class SpotifyBackend(BaseBackend): + def __init__(self, *args, **kwargs): + super(SpotifyBackend, self).__init__(*args, **kwargs) + self.spotify = spytify.Spytify(settings.SPOTIFY_USERNAME, settings.SPOTIFY_PASSWORD) + + def list_playlists(self): + playlists = u'' + for playlist in self.spotify.stored_playlists: + playlists += u'playlist: %s\n' % playlist.name + return playlists diff --git a/mopidy/handler.py b/mopidy/handler.py index d1d7ae16..de4f42b7 100644 --- a/mopidy/handler.py +++ b/mopidy/handler.py @@ -2,7 +2,7 @@ import logging import re from mopidy import settings -from mopidy.backends.dummy_backend import DummyBackend +from mopidy.backends.spotify_backend import SpotifyBackend logger = logging.getLogger('handler') @@ -20,7 +20,7 @@ def register(pattern): return decorator class MpdHandler(object): - def __init__(self, backend=DummyBackend): + def __init__(self, backend=SpotifyBackend): self.register_backend(backend()) def handle_request(self, request): @@ -271,7 +271,7 @@ class MpdHandler(object): @register(r'^stop$') def _stop(self): - pass # TODO + self.backend.stop() @register(r'^status$') def _status(self): diff --git a/mopidy/settings.py b/mopidy/settings.py index e88e4ed6..ea888864 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -3,3 +3,11 @@ MPD_LINE_ENCODING = u'utf-8' MPD_LINE_TERMINATOR = u'\n' MPD_SERVER_HOSTNAME = u'localhost' MPD_SERVER_PORT = 6600 + +SPOTIFY_USERNAME = '' +SPOTIFY_PASSWORD = '' + +try: + from mopidy.local_settings import * +except ImportError: + pass