core: Trigger playlist_changed() event on create() and save()
This commit is contained in:
parent
fd86b7173c
commit
4efff4a5a3
@ -5,6 +5,8 @@ import urlparse
|
||||
|
||||
import pykka
|
||||
|
||||
from . import listener
|
||||
|
||||
|
||||
class PlaylistsController(object):
|
||||
pykka_traversable = True
|
||||
@ -47,7 +49,9 @@ class PlaylistsController(object):
|
||||
backend = self.backends.by_uri_scheme[uri_scheme]
|
||||
else:
|
||||
backend = self.backends.with_playlists[0]
|
||||
return backend.playlists.create(name).get()
|
||||
playlist = backend.playlists.create(name).get()
|
||||
listener.CoreListener.send('playlist_changed', playlist=playlist)
|
||||
return playlist
|
||||
|
||||
def delete(self, uri):
|
||||
"""
|
||||
@ -162,4 +166,6 @@ class PlaylistsController(object):
|
||||
backend = self.backends.with_playlists_by_uri_scheme.get(
|
||||
uri_scheme, None)
|
||||
if backend:
|
||||
return backend.playlists.save(playlist).get()
|
||||
playlist = backend.playlists.save(playlist).get()
|
||||
listener.CoreListener.send('playlist_changed', playlist=playlist)
|
||||
return playlist
|
||||
|
||||
@ -90,3 +90,26 @@ class BackendEventsTest(unittest.TestCase):
|
||||
send.reset_mock()
|
||||
self.core.tracklist.shuffle().get()
|
||||
self.assertEqual(send.call_args[0][0], 'tracklist_changed')
|
||||
|
||||
@unittest.SkipTest
|
||||
def test_playlists_load_sends_playlists_loaded_event(self, send):
|
||||
# TODO Figure out what type of event and how to send events when
|
||||
# the backend finished loading playlists
|
||||
pass
|
||||
|
||||
def test_playlists_create_sends_playlist_changed_event(self, send):
|
||||
send.reset_mock()
|
||||
self.core.playlists.create('foo').get()
|
||||
self.assertEqual(send.call_args[0][0], 'playlist_changed')
|
||||
|
||||
@unittest.SkipTest
|
||||
def test_playlists_delete_sends_playlist_deleted_event(self, send):
|
||||
# TODO We should probably add a playlist_deleted event
|
||||
pass
|
||||
|
||||
def test_playlists_save_sends_playlist_changed_event(self, send):
|
||||
playlist = self.core.playlists.create('foo').get()
|
||||
send.reset_mock()
|
||||
playlist = playlist.copy(name='bar')
|
||||
self.core.playlists.save(playlist).get()
|
||||
self.assertEqual(send.call_args[0][0], 'playlist_changed')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user