core: Forward playlists_loaded() event from backends to frontends

This commit is contained in:
Stein Magnus Jodal 2012-11-17 00:56:38 +01:00
parent 0f6c9a1673
commit 330731a247
2 changed files with 12 additions and 1 deletions

View File

@ -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):

View File

@ -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()