Added initial spotify backend which lists playlists
This commit is contained in:
parent
4f438a0738
commit
349246b961
@ -9,6 +9,7 @@ class BaseBackend(object):
|
|||||||
def playlist_changes(self, version):
|
def playlist_changes(self, version):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
# Status methods
|
||||||
def status_volume(self):
|
def status_volume(self):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
@ -35,3 +36,7 @@ class BaseBackend(object):
|
|||||||
|
|
||||||
def status_state(self):
|
def status_state(self):
|
||||||
return 'stop'
|
return 'stop'
|
||||||
|
|
||||||
|
# Control methods
|
||||||
|
def stop(self):
|
||||||
|
pass
|
||||||
|
|||||||
15
mopidy/backends/spotify_backend.py
Normal file
15
mopidy/backends/spotify_backend.py
Normal 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
|
||||||
@ -2,7 +2,7 @@ import logging
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
from mopidy import settings
|
from mopidy import settings
|
||||||
from mopidy.backends.dummy_backend import DummyBackend
|
from mopidy.backends.spotify_backend import SpotifyBackend
|
||||||
|
|
||||||
logger = logging.getLogger('handler')
|
logger = logging.getLogger('handler')
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ def register(pattern):
|
|||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
class MpdHandler(object):
|
class MpdHandler(object):
|
||||||
def __init__(self, backend=DummyBackend):
|
def __init__(self, backend=SpotifyBackend):
|
||||||
self.register_backend(backend())
|
self.register_backend(backend())
|
||||||
|
|
||||||
def handle_request(self, request):
|
def handle_request(self, request):
|
||||||
@ -271,7 +271,7 @@ class MpdHandler(object):
|
|||||||
|
|
||||||
@register(r'^stop$')
|
@register(r'^stop$')
|
||||||
def _stop(self):
|
def _stop(self):
|
||||||
pass # TODO
|
self.backend.stop()
|
||||||
|
|
||||||
@register(r'^status$')
|
@register(r'^status$')
|
||||||
def _status(self):
|
def _status(self):
|
||||||
|
|||||||
@ -3,3 +3,11 @@ MPD_LINE_ENCODING = u'utf-8'
|
|||||||
MPD_LINE_TERMINATOR = u'\n'
|
MPD_LINE_TERMINATOR = u'\n'
|
||||||
MPD_SERVER_HOSTNAME = u'localhost'
|
MPD_SERVER_HOSTNAME = u'localhost'
|
||||||
MPD_SERVER_PORT = 6600
|
MPD_SERVER_PORT = 6600
|
||||||
|
|
||||||
|
SPOTIFY_USERNAME = ''
|
||||||
|
SPOTIFY_PASSWORD = ''
|
||||||
|
|
||||||
|
try:
|
||||||
|
from mopidy.local_settings import *
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user