config/ext: Remove ext. prefix from configs.

This commit is contained in:
Thomas Adamcik 2013-04-02 22:12:00 +02:00
parent 15d0c7a13f
commit e226ddd652
12 changed files with 29 additions and 43 deletions

View File

@ -99,7 +99,7 @@ installation using ``pip install Mopidy-Something==dev`` to work.
Before starting Mopidy, you must add your Soundspot username and password
to the Mopidy configuration file::
[ext.soundspot]
[soundspot]
username = alice
password = secret
@ -199,13 +199,13 @@ The default configuration for the extension is defined by the
``get_default_config()`` method in the ``Extension`` class which returns a
:mod:`ConfigParser` compatible config section. The config section's name should
be the same as the extension's short name, as defined in the ``entry_points``
part of ``setup.py``, but prefixed with ``ext.``, for example
``ext.soundspot``. All extensions should include an ``enabled`` config which
should default to ``true``. Provide good defaults for all config values so that
as few users as possible will need to change them. The exception is if the
config value has security implications; in that case you should default to the
most secure configuration. Leave any configurations that doesn't have
meaningful defaults blank, like ``username`` and ``password``.
part of ``setup.py``, for example ``soundspot``. All extensions should include
an ``enabled`` config which should default to ``true``. Provide good defaults
for all config values so that as few users as possible will need to change
them. The exception is if the config value has security implications; in that
case you should default to the most secure configuration. Leave any
configurations that doesn't have meaningful defaults blank, like ``username``
and ``password``.
::
@ -225,7 +225,7 @@ meaningful defaults blank, like ``username`` and ``password``.
__version__ = '0.1'
default_config = """
[ext.soundspot]
[soundspot]
enabled = true
username =
password =

View File

@ -194,11 +194,11 @@ def load_extensions():
logger.debug(
'Loaded extension: %s %s', extension.dist_name, extension.version)
if entry_point.name != extension.name:
if entry_point.name != extension.ext_name:
logger.warning(
'Disabled extension %(ep)s: entry point name (%(ep)s) '
'does not match extension name (%(ext)s)',
{'ep': entry_point.name, 'ext': extension.name})
{'ep': entry_point.name, 'ext': extension.ext_name})
continue
try:
@ -210,7 +210,7 @@ def load_extensions():
extensions.append(extension)
names = (e.name for e in extensions)
names = (e.ext_name for e in extensions)
logging.info('Found following runnable extensions: %s', ', '.join(names))
return extensions
@ -225,7 +225,7 @@ def filter_enabled_extensions(raw_config, extensions):
if boolean.deserialize(enabled):
filtered_extensions.append(extension)
names = (e.name for e in filtered_extensions)
names = (e.ext_name for e in filtered_extensions)
logging.info('Following extensions will be started: %s', ', '.join(names))
return filtered_extensions

View File

@ -6,7 +6,7 @@ from mopidy.utils import config, formatting
default_config = """
[ext.local]
[local]
# If the local extension should be enabled or not
enabled = true
@ -47,7 +47,7 @@ None
class Extension(ext.Extension):
dist_name = 'Mopidy-Local'
name = 'local'
ext_name = 'local'
version = mopidy.__version__
def get_default_config(self):

View File

@ -7,7 +7,7 @@ from mopidy.utils import config, formatting
default_config = """
[ext.spotify]
[spotify]
# If the Spotify extension should be enabled or not
enabled = true
@ -68,7 +68,7 @@ https://github.com/mopidy/mopidy/issues?labels=Spotify+backend
class Extension(ext.Extension):
dist_name = 'Mopidy-Spotify'
name = 'spotify'
ext_name = 'spotify'
version = mopidy.__version__
def get_default_config(self):

View File

@ -6,7 +6,7 @@ from mopidy.utils import config, formatting
default_config = """
[ext.stream]
[stream]
# If the stream extension should be enabled or not
enabled = true
@ -46,7 +46,7 @@ None
class Extension(ext.Extension):
dist_name = 'Mopidy-Stream'
name = 'stream'
ext_name = 'stream'
version = mopidy.__version__
def get_default_config(self):

View File

@ -6,15 +6,9 @@ from mopidy.utils import config
class Extension(object):
dist_name = None
name = None
ext_name = None
version = None
@property
def ext_name(self):
if self.name is None:
return None
return 'ext.%s' % self.name
def get_default_config(self):
raise NotImplementedError(
'Add at least a config section with "enabled = true"')

View File

@ -6,7 +6,7 @@ from mopidy.utils import config, formatting
default_config = """
[ext.http]
[http]
# If the HTTP extension should be enabled or not
enabled = true
@ -520,7 +520,7 @@ Example to get started with
class Extension(ext.Extension):
dist_name = 'Mopidy-HTTP'
name = 'http'
ext_name = 'http'
version = mopidy.__version__
def get_default_config(self):

View File

@ -6,7 +6,7 @@ from mopidy.utils import config, formatting
default_config = """
[ext.lastfm]
[lastfm]
# If the Last.fm extension should be enabled or not
enabled = true
@ -45,7 +45,7 @@ The frontend is enabled by default if all dependencies are available.
class Extension(ext.Extension):
dist_name = 'Mopidy-Lastfm'
name = 'lastfm'
ext_name = 'lastfm'
version = mopidy.__version__
def get_default_config(self):

View File

@ -6,7 +6,7 @@ from mopidy.utils import config, formatting
default_config = """
[ext.mpd]
[mpd]
# If the MPD extension should be enabled or not
enabled = true
@ -89,7 +89,7 @@ near future:
class Extension(ext.Extension):
dist_name = 'Mopidy-MPD'
name = 'mpd'
ext_name = 'mpd'
version = mopidy.__version__
def get_default_config(self):

View File

@ -6,7 +6,7 @@ from mopidy.utils import formatting, config
default_config = """
[ext.mpris]
[mpris]
# If the MPRIS extension should be enabled or not
enabled = true
@ -71,7 +71,7 @@ Now you can control Mopidy through the player object. Examples:
class Extension(ext.Extension):
dist_name = 'Mopidy-MPRIS'
name = 'mpris'
ext_name = 'mpris'
version = mopidy.__version__
def get_default_config(self):

View File

@ -263,8 +263,7 @@ class ConfigSchema(object):
class ExtensionConfigSchema(ConfigSchema):
"""Sub-classed :class:`ConfigSchema` for use in extensions.
Ensures that `enabled` config value is present and that section name is
prefixed with ext.
Ensures that `enabled` config value is present.
"""
def __init__(self):
super(ExtensionConfigSchema, self).__init__()

View File

@ -13,16 +13,9 @@ class ExtensionTest(unittest.TestCase):
def test_dist_name_is_none(self):
self.assertIsNone(self.ext.dist_name)
def test_name_is_none(self):
self.assertIsNone(self.ext.name)
def test_ext_name_is_none(self):
self.assertIsNone(self.ext.ext_name)
def test_ext_name_prefixes_ext(self):
self.ext.name = 'foo'
self.assertEqual('ext.foo', self.ext.ext_name)
def test_version_is_none(self):
self.assertIsNone(self.ext.version)