From 330731a2475333565fae03af8520175a623acf17 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sat, 17 Nov 2012 00:56:38 +0100 Subject: [PATCH] core: Forward playlists_loaded() event from backends to frontends --- mopidy/core/actor.py | 8 +++++++- tests/core/events_test.py | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mopidy/core/actor.py b/mopidy/core/actor.py index 231fe523..a4f184bf 100644 --- a/mopidy/core/actor.py +++ b/mopidy/core/actor.py @@ -5,14 +5,16 @@ import itertools import pykka from mopidy.audio import AudioListener, PlaybackState +from mopidy.backends.listener import BackendListener from .library import LibraryController +from .listener import CoreListener from .playback import PlaybackController from .playlists import PlaylistsController from .tracklist import TracklistController -class Core(pykka.ThreadingActor, AudioListener): +class Core(pykka.ThreadingActor, AudioListener, BackendListener): #: The library controller. An instance of # :class:`mopidy.core.LibraryController`. library = None @@ -67,6 +69,10 @@ class Core(pykka.ThreadingActor, AudioListener): self.playback.state = new_state self.playback._trigger_track_playback_paused() + def playlists_loaded(self): + # Forward event from backend to frontends + CoreListener.send('playlists_loaded') + class Backends(list): def __init__(self, backends): diff --git a/tests/core/events_test.py b/tests/core/events_test.py index 212f3b5d..8f969b0d 100644 --- a/tests/core/events_test.py +++ b/tests/core/events_test.py @@ -20,6 +20,11 @@ class BackendEventsTest(unittest.TestCase): def tearDown(self): pykka.ActorRegistry.stop_all() + def test_backends_playlists_loaded_forwards_event_to_frontends(self, send): + send.reset_mock() + self.core.playlists_loaded().get() + self.assertEqual(send.call_args[0][0], 'playlists_loaded') + def test_pause_sends_track_playback_paused_event(self, send): self.core.tracklist.add(Track(uri='dummy:a')) self.core.playback.play().get()