Source code for mopidy.backends.listener

from __future__ import unicode_literals

import pykka


[docs]class BackendListener(object): """ Marker interface for recipients of events sent by the backend actors. Any Pykka actor that mixes in this class will receive calls to the methods defined here when the corresponding events happen in the core actor. This interface is used both for looking up what actors to notify of the events, and for providing default implementations for those listeners that are not interested in all events. Normally, only the Core actor should mix in this class. """ @staticmethod
[docs] def send(event, **kwargs): """Helper to allow calling of backend listener events""" listeners = pykka.ActorRegistry.get_by_class(BackendListener) for listener in listeners: listener.proxy().on_event(event, **kwargs)
[docs] def on_event(self, event, **kwargs): """ Called on all events. *MAY* be implemented by actor. By default, this method forwards the event to the specific event methods. :param event: the event name :type event: string :param kwargs: any other arguments to the specific event handlers """ getattr(self, event)(**kwargs)
[docs] def playlists_loaded(self): """ Called when playlists are loaded or refreshed. *MAY* be implemented by actor. """ pass