Added initial spotify backend which lists playlists

This commit is contained in:
Johannes Knutsen 2009-12-24 02:57:16 +01:00
parent 4f438a0738
commit 349246b961
4 changed files with 31 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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):

View File

@ -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