From 53d615622744939459aaaa9fb52e47926781d036 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Wed, 26 Sep 2012 10:12:17 +0200 Subject: [PATCH] Give SpotifySessionManager audio and backend proxies on construction --- mopidy/backends/spotify/__init__.py | 3 ++- mopidy/backends/spotify/session_manager.py | 17 +++-------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/mopidy/backends/spotify/__init__.py b/mopidy/backends/spotify/__init__.py index 039295b6..fccdd3f1 100644 --- a/mopidy/backends/spotify/__init__.py +++ b/mopidy/backends/spotify/__init__.py @@ -83,6 +83,7 @@ class SpotifyBackend(ThreadingActor, base.Backend): from .session_manager import SpotifySessionManager logger.debug(u'Connecting to Spotify') - spotify = SpotifySessionManager(self.username, self.password) + spotify = SpotifySessionManager(self.username, self.password, + audio=self.audio, backend=self.actor_ref.proxy()) spotify.start() return spotify diff --git a/mopidy/backends/spotify/session_manager.py b/mopidy/backends/spotify/session_manager.py index ce1226d8..382f65f6 100644 --- a/mopidy/backends/spotify/session_manager.py +++ b/mopidy/backends/spotify/session_manager.py @@ -27,13 +27,13 @@ class SpotifySessionManager(BaseThread, PyspotifySessionManager): appkey_file = os.path.join(os.path.dirname(__file__), 'spotify_appkey.key') user_agent = 'Mopidy %s' % get_version() - def __init__(self, username, password): + def __init__(self, username, password, audio, backend): PyspotifySessionManager.__init__(self, username, password) BaseThread.__init__(self) self.name = 'SpotifyThread' - self.audio = None - self.backend = None + self.audio = audio + self.backend = backend self.connected = threading.Event() self.session = None @@ -44,19 +44,8 @@ class SpotifySessionManager(BaseThread, PyspotifySessionManager): self._initial_data_receive_completed = False def run_inside_try(self): - self.setup() self.connect() - def setup(self): - audio_refs = ActorRegistry.get_by_class(audio.Audio) - assert len(audio_refs) == 1, \ - 'Expected exactly one running Audio instance.' - self.audio = audio_refs[0].proxy() - - backend_refs = ActorRegistry.get_by_class(Backend) - assert len(backend_refs) == 1, 'Expected exactly one running backend.' - self.backend = backend_refs[0].proxy() - def logged_in(self, session, error): """Callback used by pyspotify""" if error: