Source code for soco.plugins.example

"""Example implementation of a plugin."""

from ..plugins import SoCoPlugin

__all__ = ["ExamplePlugin"]

[docs]class ExamplePlugin(SoCoPlugin): """This file serves as an example of a SoCo plugin.""" def __init__(self, soco, username): """Initialize the plugin. The plugin can accept any arguments it requires. It should at least accept a soco instance which it passes on to the base class when calling super's __init__. """ super().__init__(soco) self.username = username @property def name(self): return "Example Plugin for {}".format(self.username)
[docs] def music_plugin_play(self): """Play some music. This is just a reimplementation of the ordinary play function, to show how we can use the general upnp methods from soco """ print("Hi,", self.username) self.soco.avTransport.Play([("InstanceID", 0), ("Speed", 1)])
[docs] def music_plugin_stop(self): """Stop the music. This methods shows how, if we need it, we can use the soco functionality from inside the plugins """ print("Bye,", self.username) self.soco.stop()