From c65e48157f40cc2a37eacdb3156bd1e60738fde0 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Wed, 20 Jan 2010 23:31:07 +0100 Subject: [PATCH] Run libspotify session in its own thread to not block the rest of mopidy --- mopidy/backends/libspotify.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mopidy/backends/libspotify.py b/mopidy/backends/libspotify.py index a4a34ff6..224b8023 100644 --- a/mopidy/backends/libspotify.py +++ b/mopidy/backends/libspotify.py @@ -1,4 +1,5 @@ import logging +import threading from spotify.manager import SpotifySessionManager from spotify.alsahelper import AlsaController @@ -8,11 +9,15 @@ from mopidy.backends.base import BaseBackend logger = logging.getLogger(u'backends.libspotify') -class LibspotifySession(SpotifySessionManager): +class LibspotifySession(SpotifySessionManager, threading.Thread): def __init__(self, *args, **kwargs): - super(LibspotifySession, self).__init__(*args, **kwargs) + SpotifySessionManager.__init__(self, *args, **kwargs) + threading.Thread.__init__(self) self.audio = AlsaController() + def run(self): + self.connect() + def logged_in(self, session, error): logger.info('Logged in') @@ -48,4 +53,4 @@ class LibspotifyBackend(BaseBackend): self.spotify = LibspotifySession( config.SPOTIFY_USERNAME, config.SPOTIFY_PASSWORD) logger.info(u'Connecting to Spotify') - self.spotify.connect() + self.spotify.start()