local: Trigger playlists_loaded() event on playlist load/refresh
This commit is contained in:
parent
5368c5fade
commit
5efce8ac76
@ -6,7 +6,7 @@ import os
|
||||
import shutil
|
||||
|
||||
from mopidy import settings
|
||||
from mopidy.backends import base
|
||||
from mopidy.backends import base, listener
|
||||
from mopidy.models import Playlist
|
||||
from mopidy.utils import formatting, path
|
||||
|
||||
@ -63,6 +63,7 @@ class LocalPlaylistsProvider(base.BasePlaylistsProvider):
|
||||
playlists.append(playlist)
|
||||
|
||||
self.playlists = playlists
|
||||
listener.BackendListener.send('playlists_loaded')
|
||||
|
||||
def save(self, playlist):
|
||||
assert playlist.uri, 'Cannot save playlist without URI'
|
||||
|
||||
23
tests/backends/base/events.py
Normal file
23
tests/backends/base/events.py
Normal file
@ -0,0 +1,23 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import mock
|
||||
import pykka
|
||||
|
||||
from mopidy import core, audio
|
||||
from mopidy.backends import listener
|
||||
|
||||
|
||||
@mock.patch.object(listener.BackendListener, 'send')
|
||||
class BackendEventsTest(object):
|
||||
def setUp(self):
|
||||
self.audio = mock.Mock(spec=audio.Audio)
|
||||
self.backend = self.backend_class.start(audio=audio).proxy()
|
||||
self.core = core.Core.start(backends=[self.backend]).proxy()
|
||||
|
||||
def tearDown(self):
|
||||
pykka.ActorRegistry.stop_all()
|
||||
|
||||
def test_playlists_refresh_sends_playlists_loaded_event(self, send):
|
||||
send.reset_mock()
|
||||
self.core.playlists.refresh().get()
|
||||
self.assertEqual(send.call_args[0][0], 'playlists_loaded')
|
||||
8
tests/backends/local/events_test.py
Normal file
8
tests/backends/local/events_test.py
Normal file
@ -0,0 +1,8 @@
|
||||
from mopidy.backends.local import LocalBackend
|
||||
|
||||
from tests import unittest
|
||||
from tests.backends.base import events
|
||||
|
||||
|
||||
class LocalBackendEventsTest(events.BackendEventsTest, unittest.TestCase):
|
||||
backend_class = LocalBackend
|
||||
Loading…
Reference in New Issue
Block a user