Update MPRIS' Metadata on started_playing/stopped_playing

This commit is contained in:
Stein Magnus Jodal 2011-06-29 18:10:27 +03:00
parent 2812e7ad45
commit 8a49b1f325
2 changed files with 22 additions and 14 deletions

View File

@ -127,6 +127,7 @@ class MprisFrontend(ThreadingActor, BackendListener):
if self.mpris_object is None: if self.mpris_object is None:
return return
self.mpris_object.PropertiesChanged(PLAYER_IFACE, { self.mpris_object.PropertiesChanged(PLAYER_IFACE, {
'Metadata': self.mpris_object.Get(PLAYER_IFACE, 'Metadata'),
'PlaybackStatus': 'PlaybackStatus':
self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'), self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'),
}, []) }, [])
@ -135,6 +136,7 @@ class MprisFrontend(ThreadingActor, BackendListener):
if self.mpris_object is None: if self.mpris_object is None:
return return
self.mpris_object.PropertiesChanged(PLAYER_IFACE, { self.mpris_object.PropertiesChanged(PLAYER_IFACE, {
'Metadata': self.mpris_object.Get(PLAYER_IFACE, 'Metadata'),
'PlaybackStatus': 'PlaybackStatus':
self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'), self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'),
}, []) }, [])

View File

@ -13,31 +13,37 @@ class BackendEventsTest(unittest.TestCase):
def test_paused_playing_event_changes_playback_status(self): def test_paused_playing_event_changes_playback_status(self):
self.mpris_object.Get.return_value = 'Paused' self.mpris_object.Get.return_value = 'Paused'
self.mpris_frontend.paused_playing(Track(), 0) self.mpris_frontend.paused_playing(Track(), 0)
self.mpris_object.Get.assert_called_with( self.assertListEqual(self.mpris_object.Get.call_args_list, [
PLAYER_IFACE, 'PlaybackStatus') ((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with( self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'PlaybackStatus': 'Paused'}, []) PLAYER_IFACE, {'PlaybackStatus': 'Paused'}, [])
def test_resumed_playing_event_changes_playback_status(self): def test_resumed_playing_event_changes_playback_status(self):
self.mpris_object.Get.return_value = 'Playing' self.mpris_object.Get.return_value = 'Playing'
self.mpris_frontend.resumed_playing(Track(), 0) self.mpris_frontend.resumed_playing(Track(), 0)
self.mpris_object.Get.assert_called_with( self.assertListEqual(self.mpris_object.Get.call_args_list, [
PLAYER_IFACE, 'PlaybackStatus') ((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with( self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'PlaybackStatus': 'Playing'}, []) PLAYER_IFACE, {'PlaybackStatus': 'Playing'}, [])
def test_started_playing_event_changes_playback_status(self): def test_started_playing_event_changes_playback_status_and_metadata(self):
self.mpris_object.Get.return_value = 'Playing' self.mpris_object.Get.return_value = '...'
self.mpris_frontend.started_playing(Track()) self.mpris_frontend.started_playing(Track())
self.mpris_object.Get.assert_called_with( self.assertListEqual(self.mpris_object.Get.call_args_list, [
PLAYER_IFACE, 'PlaybackStatus') ((PLAYER_IFACE, 'Metadata'), {}),
((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with( self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'PlaybackStatus': 'Playing'}, []) PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])
def test_stopped_playing_event_changes_playback_status(self): def test_stopped_playing_event_changes_playback_status_and_metadata(self):
self.mpris_object.Get.return_value = 'Stopped' self.mpris_object.Get.return_value = '...'
self.mpris_frontend.stopped_playing(Track(), 0) self.mpris_frontend.stopped_playing(Track(), 0)
self.mpris_object.Get.assert_called_with( self.assertListEqual(self.mpris_object.Get.call_args_list, [
PLAYER_IFACE, 'PlaybackStatus') ((PLAYER_IFACE, 'Metadata'), {}),
((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with( self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'PlaybackStatus': 'Stopped'}, []) PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])