Add util method for emitting PropertiesChanged
This commit is contained in:
parent
d0c8f89ffd
commit
3c1ba51580
@ -106,51 +106,33 @@ class MprisFrontend(ThreadingActor, BackendListener):
|
|||||||
self.indicate_server.show()
|
self.indicate_server.show()
|
||||||
logger.debug(u'Startup notification sent')
|
logger.debug(u'Startup notification sent')
|
||||||
|
|
||||||
def track_playback_paused(self, track, time_position):
|
def _emit_properties_changed(self, *changed_properties):
|
||||||
logger.debug(u'Received track playback paused event')
|
|
||||||
if self.mpris_object is None:
|
if self.mpris_object is None:
|
||||||
return
|
return
|
||||||
self.mpris_object.PropertiesChanged(PLAYER_IFACE, {
|
props_with_new_values = [(p, self.mpris_object.Get(PLAYER_IFACE, p))
|
||||||
'PlaybackStatus':
|
for p in changed_properties]
|
||||||
self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'),
|
self.mpris_object.PropertiesChanged(PLAYER_IFACE,
|
||||||
}, [])
|
dict(props_with_new_values), [])
|
||||||
|
|
||||||
|
def track_playback_paused(self, track, time_position):
|
||||||
|
logger.debug(u'Received track playback paused event')
|
||||||
|
self._emit_properties_changed('PlaybackStatus')
|
||||||
|
|
||||||
def track_playback_resumed(self, track, time_position):
|
def track_playback_resumed(self, track, time_position):
|
||||||
logger.debug(u'Received track playback resumed event')
|
logger.debug(u'Received track playback resumed event')
|
||||||
if self.mpris_object is None:
|
self._emit_properties_changed('PlaybackStatus')
|
||||||
return
|
|
||||||
self.mpris_object.PropertiesChanged(PLAYER_IFACE, {
|
|
||||||
'PlaybackStatus':
|
|
||||||
self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'),
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
def track_playback_started(self, track):
|
def track_playback_started(self, track):
|
||||||
logger.debug(u'Received track playback started event')
|
logger.debug(u'Received track playback started event')
|
||||||
if self.mpris_object is None:
|
self._emit_properties_changed('PlaybackStatus', 'Metadata')
|
||||||
return
|
|
||||||
self.mpris_object.PropertiesChanged(PLAYER_IFACE, {
|
|
||||||
'Metadata': self.mpris_object.Get(PLAYER_IFACE, 'Metadata'),
|
|
||||||
'PlaybackStatus':
|
|
||||||
self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'),
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
def track_playback_ended(self, track, time_position):
|
def track_playback_ended(self, track, time_position):
|
||||||
logger.debug(u'Received track playback ended event')
|
logger.debug(u'Received track playback ended event')
|
||||||
if self.mpris_object is None:
|
self._emit_properties_changed('PlaybackStatus', 'Metadata')
|
||||||
return
|
|
||||||
self.mpris_object.PropertiesChanged(PLAYER_IFACE, {
|
|
||||||
'Metadata': self.mpris_object.Get(PLAYER_IFACE, 'Metadata'),
|
|
||||||
'PlaybackStatus':
|
|
||||||
self.mpris_object.Get(PLAYER_IFACE, 'PlaybackStatus'),
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
def volume_changed(self):
|
def volume_changed(self):
|
||||||
logger.debug(u'Received volume changed event')
|
logger.debug(u'Received volume changed event')
|
||||||
if self.mpris_object is None:
|
self._emit_properties_changed('Volume')
|
||||||
return
|
|
||||||
self.mpris_object.PropertiesChanged(PLAYER_IFACE, {
|
|
||||||
'Volume': self.mpris_object.Get(PLAYER_IFACE, 'Volume'),
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
def seeked(self):
|
def seeked(self):
|
||||||
logger.debug(u'Received seeked event')
|
logger.debug(u'Received seeked event')
|
||||||
|
|||||||
@ -32,8 +32,8 @@ class BackendEventsTest(unittest.TestCase):
|
|||||||
self.mpris_object.Get.return_value = '...'
|
self.mpris_object.Get.return_value = '...'
|
||||||
self.mpris_frontend.track_playback_started(Track())
|
self.mpris_frontend.track_playback_started(Track())
|
||||||
self.assertListEqual(self.mpris_object.Get.call_args_list, [
|
self.assertListEqual(self.mpris_object.Get.call_args_list, [
|
||||||
((PLAYER_IFACE, 'Metadata'), {}),
|
|
||||||
((PLAYER_IFACE, 'PlaybackStatus'), {}),
|
((PLAYER_IFACE, 'PlaybackStatus'), {}),
|
||||||
|
((PLAYER_IFACE, 'Metadata'), {}),
|
||||||
])
|
])
|
||||||
self.mpris_object.PropertiesChanged.assert_called_with(
|
self.mpris_object.PropertiesChanged.assert_called_with(
|
||||||
PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])
|
PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])
|
||||||
@ -42,8 +42,8 @@ class BackendEventsTest(unittest.TestCase):
|
|||||||
self.mpris_object.Get.return_value = '...'
|
self.mpris_object.Get.return_value = '...'
|
||||||
self.mpris_frontend.track_playback_ended(Track(), 0)
|
self.mpris_frontend.track_playback_ended(Track(), 0)
|
||||||
self.assertListEqual(self.mpris_object.Get.call_args_list, [
|
self.assertListEqual(self.mpris_object.Get.call_args_list, [
|
||||||
((PLAYER_IFACE, 'Metadata'), {}),
|
|
||||||
((PLAYER_IFACE, 'PlaybackStatus'), {}),
|
((PLAYER_IFACE, 'PlaybackStatus'), {}),
|
||||||
|
((PLAYER_IFACE, 'Metadata'), {}),
|
||||||
])
|
])
|
||||||
self.mpris_object.PropertiesChanged.assert_called_with(
|
self.mpris_object.PropertiesChanged.assert_called_with(
|
||||||
PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])
|
PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user