ext: Rename ext_name to name and provide ext_name property that gives ext.$name

This commit is contained in:
Thomas Adamcik 2013-04-02 19:07:17 +02:00
parent 7c124d0f72
commit dcd0d7e813
10 changed files with 27 additions and 15 deletions

View File

@ -157,11 +157,11 @@ def load_extensions():
logger.debug(
'Loaded extension: %s %s', extension.dist_name, extension.version)
if entry_point.name != extension.ext_name:
if entry_point.name != extension.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.ext_name})
{'ep': entry_point.name, 'ext': extension.name})
continue
try:
@ -173,7 +173,7 @@ def load_extensions():
extensions.append(extension)
names = (e.ext_name for e in extensions)
names = (e.name for e in extensions)
logging.info('Found following runnable extensions: %s', ', '.join(names))
return extensions
@ -184,11 +184,11 @@ def filter_enabled_extensions(raw_config, extensions):
for extension in extensions:
# TODO: handle key and value errors.
enabled = raw_config['ext.%s' % extension.ext_name]['enabled']
enabled = raw_config[extension.ext_name]['enabled']
if boolean.deserialize(enabled):
filtered_extensions.append(extension)
names = (e.ext_name for e in filtered_extensions)
names = (e.name for e in filtered_extensions)
logging.info('Following extensions will be started: %s', ', '.join(names))
return filtered_extensions
@ -237,9 +237,8 @@ def validate_config(raw_config, extensions):
# Collect config schemas to validate against
sections_and_schemas = config_schemas.items()
for extension in extensions:
section_name = 'ext.%s' % extension.ext_name
sections_and_schemas.append(
(section_name, extension.get_config_schema()))
(extension.ext_name, extension.get_config_schema()))
# Get validated config
config = {}

View File

@ -47,7 +47,7 @@ None
class Extension(ext.Extension):
dist_name = 'Mopidy-Local'
ext_name = 'local'
name = 'local'
version = mopidy.__version__
def get_default_config(self):

View File

@ -68,7 +68,7 @@ https://github.com/mopidy/mopidy/issues?labels=Spotify+backend
class Extension(ext.Extension):
dist_name = 'Mopidy-Spotify'
ext_name = 'spotify'
name = 'spotify'
version = mopidy.__version__
def get_default_config(self):

View File

@ -46,7 +46,7 @@ None
class Extension(ext.Extension):
dist_name = 'Mopidy-Stream'
ext_name = 'stream'
name = 'stream'
version = mopidy.__version__
def get_default_config(self):

View File

@ -6,9 +6,15 @@ from mopidy.utils import config
class Extension(object):
dist_name = None
ext_name = None
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

@ -520,7 +520,7 @@ Example to get started with
class Extension(ext.Extension):
dist_name = 'Mopidy-HTTP'
ext_name = 'http'
name = 'http'
version = mopidy.__version__
def get_default_config(self):

View File

@ -45,7 +45,7 @@ The frontend is enabled by default if all dependencies are available.
class Extension(ext.Extension):
dist_name = 'Mopidy-Lastfm'
ext_name = 'lastfm'
name = 'lastfm'
version = mopidy.__version__
def get_default_config(self):

View File

@ -89,7 +89,7 @@ near future:
class Extension(ext.Extension):
dist_name = 'Mopidy-MPD'
ext_name = 'mpd'
name = 'mpd'
version = mopidy.__version__
def get_default_config(self):

View File

@ -71,7 +71,7 @@ Now you can control Mopidy through the player object. Examples:
class Extension(ext.Extension):
dist_name = 'Mopidy-MPRIS'
ext_name = 'mpris'
name = 'mpris'
version = mopidy.__version__
def get_default_config(self):

View File

@ -13,9 +13,16 @@ 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)