def test_broadcast_sends_message_to_all_actors_of_given_class_name(self): ActorRegistry.broadcast({'command': 'foo'}, target_class='AnActor') for actor_ref in ActorRegistry.get_by_class(self.AnActor): received_messages = actor_ref.proxy().received_messages.get() self.assert_({'command': 'foo'} in received_messages) for actor_ref in ActorRegistry.get_by_class(self.BeeActor): received_messages = actor_ref.proxy().received_messages.get() self.assert_({'command': 'foo'} not in received_messages)
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 setup(self): gstreamer_refs = ActorRegistry.get_by_class(GStreamer) assert len(gstreamer_refs) == 1, \ 'Expected exactly one running gstreamer.' self.gstreamer = gstreamer_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 backend(self): if self._backend is None: backend_refs = ActorRegistry.get_by_class(Backend) assert len(backend_refs) == 1, \ 'Expected exactly one running backend.' self._backend = backend_refs[0].proxy() return self._backend
def on_start(self): gstreamer_refs = ActorRegistry.get_by_class(GStreamer) assert len(gstreamer_refs) == 1, 'Expected exactly one running gstreamer.' self.gstreamer = gstreamer_refs[0].proxy() logger.info(u'Mopidy uses SPOTIFY(R) CORE') self.spotify = self._connect()
def _notify_backend_of_eos(self): backend_refs = ActorRegistry.get_by_class(Backend) assert len(backend_refs) <= 1, 'Expected at most one running backend.' if backend_refs: logger.debug(u'Notifying backend of end-of-stream.') backend_refs[0].proxy().playback.on_end_of_track() else: logger.debug(u'No backend to notify of end-of-stream found.')
def on_start(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() logger.info(u'Mopidy uses SPOTIFY(R) CORE') self.spotify = self._connect()
def backend(self): """ The backend. An instance of :class:`mopidy.backends.base.Backend`. """ if self._backend is None: backend_refs = ActorRegistry.get_by_class(Backend) assert len(backend_refs) == 1, 'Expected exactly one running backend.' self._backend = backend_refs[0].proxy() return self._backend
def mixer(self): """ The mixer. An instance of :class:`mopidy.mixers.base.BaseMixer`. """ if self._mixer is None: mixer_refs = ActorRegistry.get_by_class(BaseMixer) assert len(mixer_refs) == 1, 'Expected exactly one running mixer.' self._mixer = mixer_refs[0].proxy() return self._mixer
def backend(self): """ The backend. An instance of :class:`mopidy.backends.base.Backend`. """ if self._backend is None: backend_refs = ActorRegistry.get_by_class(Backend) assert len( backend_refs) == 1, 'Expected exactly one running backend.' self._backend = backend_refs[0].proxy() return self._backend
def _trigger_started_playing_event(self): """ Notifies frontends that a track has started playing. For internal use only. Should be called by the backend directly after a track has started playing. """ if self.current_track is None: return frontend_refs = ActorRegistry.get_by_class(BaseFrontend) for frontend_ref in frontend_refs: frontend_ref.send_one_way({ 'command': 'started_playing', 'track': self.current_track, })
def _trigger_stopped_playing_event(self): """ Notifies frontends that a track has stopped playing. For internal use only. Should be called by the backend before a track is stopped playing, e.g. at the next, previous, and stop actions and at end-of-track. """ if self.current_track is None: return frontend_refs = ActorRegistry.get_by_class(BaseFrontend) for frontend_ref in frontend_refs: frontend_ref.send_one_way({ 'command': 'stopped_playing', 'track': self.current_track, 'stop_position': self.time_position, })
def on_start(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()
def stop_actors_by_class(klass): actors = ActorRegistry.get_by_class(klass) logger.debug(u'Stopping %d instance(s) of %s', len(actors), klass.__name__) for actor in actors: actor.stop()
def number_of_connections(self): return len(ActorRegistry.get_by_class(self.protocol))
def test_actors_may_be_looked_up_by_superclass(self): result = ActorRegistry.get_by_class(AnActor) for a_actor in self.a_actors: self.assert_(a_actor in result) for b_actor in self.b_actors: self.assert_(b_actor not in result)
def on_start(self): gstreamer_refs = ActorRegistry.get_by_class(GStreamer) assert len(gstreamer_refs) == 1, \ 'Expected exactly one running GStreamer.' self.gstreamer = gstreamer_refs[0].proxy()
def mixer(self): if self._mixer is None: mixer_refs = ActorRegistry.get_by_class(BaseMixer) assert len(mixer_refs) == 1, 'Expected exactly one running mixer.' self._mixer = mixer_refs[0].proxy() return self._mixer
def on_start(self): output_refs = ActorRegistry.get_by_class(GStreamer) assert len(output_refs) == 1, 'Expected exactly one running output.' self.output = output_refs[0].proxy()
def _get_backend(self): backend_refs = ActorRegistry.get_by_class(Backend) assert len(backend_refs) == 1, 'Expected exactly one running backend.' return backend_refs[0].proxy()
def test_actors_may_be_looked_up_by_superclass(self): result = ActorRegistry.get_by_class(AnActorSuperclass) for a_actor in self.a_actors: self.assert_(a_actor in result) for b_actor in self.b_actors: self.assert_(b_actor not in result)