Add libspotify backend which connects to Spotify and logs any calls to its callbacks
This commit is contained in:
parent
a9f4860147
commit
2b8d692719
@ -8,11 +8,11 @@ sys.path.insert(0,
|
||||
|
||||
from mopidy import config, ConfigError
|
||||
from mopidy.server import MpdServer
|
||||
from mopidy.backends.despotify import DespotifyBackend
|
||||
from mopidy.backends.libspotify import LibspotifyBackend
|
||||
|
||||
def main():
|
||||
_setup_logging(2)
|
||||
backend = DespotifyBackend()
|
||||
backend = LibspotifyBackend()
|
||||
MpdServer(backend=backend)
|
||||
asyncore.loop()
|
||||
|
||||
|
||||
51
mopidy/backends/libspotify.py
Normal file
51
mopidy/backends/libspotify.py
Normal file
@ -0,0 +1,51 @@
|
||||
import logging
|
||||
|
||||
from spotify.manager import SpotifySessionManager
|
||||
from spotify.alsahelper import AlsaController
|
||||
|
||||
from mopidy import config
|
||||
from mopidy.backends.base import BaseBackend
|
||||
|
||||
logger = logging.getLogger(u'backends.libspotify')
|
||||
|
||||
class LibspotifySession(SpotifySessionManager):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(LibspotifySession, self).__init__(*args, **kwargs)
|
||||
self.audio = AlsaController()
|
||||
|
||||
def logged_in(self, session, error):
|
||||
logger.info('Logged in')
|
||||
|
||||
def logged_out(self, sess):
|
||||
logger.info('Logged out')
|
||||
|
||||
def metadata_updated(self, sess):
|
||||
logger.debug('Metadata updated')
|
||||
|
||||
def connection_error(self, sess, error):
|
||||
logger.error('Connection error: %s', error)
|
||||
|
||||
def message_to_user(self, sess, message):
|
||||
logger.info(message)
|
||||
|
||||
def notify_main_thread(self, sess):
|
||||
logger.debug('Notify main thread')
|
||||
|
||||
def music_delivery(self, *args, **kwargs):
|
||||
self.audio.music_delivery(*args, **kwargs)
|
||||
|
||||
def play_token_lost(self, sess):
|
||||
logger.debug('Play token lost')
|
||||
|
||||
def log_message(self, sess, data):
|
||||
logger.debug(data)
|
||||
|
||||
def end_of_track(self, sess):
|
||||
logger.debug('End of track')
|
||||
|
||||
class LibspotifyBackend(BaseBackend):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.spotify = LibspotifySession(
|
||||
config.SPOTIFY_USERNAME, config.SPOTIFY_PASSWORD)
|
||||
logger.info(u'Connecting to Spotify')
|
||||
self.spotify.connect()
|
||||
Loading…
Reference in New Issue
Block a user