From 64b0cc7b98963cbcdd5d704ad075e50547d2715a Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 1 Apr 2013 11:30:07 +0200 Subject: [PATCH] ext: Support multiple frontends/backends in an extension --- docs/extensiondev.rst | 8 ++++---- mopidy/ext.py | 8 ++++---- tests/ext_test.py | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/extensiondev.rst b/docs/extensiondev.rst index b1928798..f2c54847 100644 --- a/docs/extensiondev.rst +++ b/docs/extensiondev.rst @@ -265,13 +265,13 @@ meaningful defaults blank, like ``username`` and ``password``. # You will typically only implement one of the next three methods # in a single extension. - def get_frontend_class(self): + def get_frontend_classes(self): from .frontend import SoundspotFrontend - return SoundspotFrontend + return [SoundspotFrontend] - def get_backend_class(self): + def get_backend_classes(self): from .backend import SoundspotBackend - return SoundspotBackend + return [SoundspotBackend] def register_gstreamer_elements(self): from .mixer import SoundspotMixer diff --git a/mopidy/ext.py b/mopidy/ext.py index dc756a3a..6cc35139 100644 --- a/mopidy/ext.py +++ b/mopidy/ext.py @@ -17,11 +17,11 @@ class Extension(object): def validate_environment(self): pass - def get_frontend_class(self): - pass + def get_frontend_classes(self): + return [] - def get_backend_class(self): - pass + def get_backend_classes(self): + return [] def register_gstreamer_elements(self): pass diff --git a/tests/ext_test.py b/tests/ext_test.py index 98849e21..ac238ca5 100644 --- a/tests/ext_test.py +++ b/tests/ext_test.py @@ -24,11 +24,11 @@ class ExtensionTest(unittest.TestCase): def test_validate_environment_does_nothing_by_default(self): self.assertIsNone(self.ext.validate_environment()) - def test_get_frontend_class_returns_none_by_default(self): - self.assertIsNone(self.ext.get_frontend_class()) + def test_get_frontend_classes_returns_an_empty_list(self): + self.assertListEqual(self.ext.get_frontend_classes(), []) - def test_get_backend_class_returns_none_by_default(self): - self.assertIsNone(self.ext.get_backend_class()) + def test_get_backend_classes_returns_an_empty_list(self): + self.assertListEqual(self.ext.get_backend_classes(), []) def test_register_gstreamer_elements_does_nothing_by_default(self): self.assertIsNone(self.ext.register_gstreamer_elements())