ext: Rename ext_name to name and provide ext_name property that gives ext.$name
This commit is contained in:
parent
7c124d0f72
commit
dcd0d7e813
@ -157,11 +157,11 @@ def load_extensions():
|
|||||||
logger.debug(
|
logger.debug(
|
||||||
'Loaded extension: %s %s', extension.dist_name, extension.version)
|
'Loaded extension: %s %s', extension.dist_name, extension.version)
|
||||||
|
|
||||||
if entry_point.name != extension.ext_name:
|
if entry_point.name != extension.name:
|
||||||
logger.warning(
|
logger.warning(
|
||||||
'Disabled extension %(ep)s: entry point name (%(ep)s) '
|
'Disabled extension %(ep)s: entry point name (%(ep)s) '
|
||||||
'does not match extension name (%(ext)s)',
|
'does not match extension name (%(ext)s)',
|
||||||
{'ep': entry_point.name, 'ext': extension.ext_name})
|
{'ep': entry_point.name, 'ext': extension.name})
|
||||||
continue
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -173,7 +173,7 @@ def load_extensions():
|
|||||||
|
|
||||||
extensions.append(extension)
|
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))
|
logging.info('Found following runnable extensions: %s', ', '.join(names))
|
||||||
return extensions
|
return extensions
|
||||||
|
|
||||||
@ -184,11 +184,11 @@ def filter_enabled_extensions(raw_config, extensions):
|
|||||||
|
|
||||||
for extension in extensions:
|
for extension in extensions:
|
||||||
# TODO: handle key and value errors.
|
# 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):
|
if boolean.deserialize(enabled):
|
||||||
filtered_extensions.append(extension)
|
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))
|
logging.info('Following extensions will be started: %s', ', '.join(names))
|
||||||
return filtered_extensions
|
return filtered_extensions
|
||||||
|
|
||||||
@ -237,9 +237,8 @@ def validate_config(raw_config, extensions):
|
|||||||
# Collect config schemas to validate against
|
# Collect config schemas to validate against
|
||||||
sections_and_schemas = config_schemas.items()
|
sections_and_schemas = config_schemas.items()
|
||||||
for extension in extensions:
|
for extension in extensions:
|
||||||
section_name = 'ext.%s' % extension.ext_name
|
|
||||||
sections_and_schemas.append(
|
sections_and_schemas.append(
|
||||||
(section_name, extension.get_config_schema()))
|
(extension.ext_name, extension.get_config_schema()))
|
||||||
|
|
||||||
# Get validated config
|
# Get validated config
|
||||||
config = {}
|
config = {}
|
||||||
|
|||||||
@ -47,7 +47,7 @@ None
|
|||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-Local'
|
dist_name = 'Mopidy-Local'
|
||||||
ext_name = 'local'
|
name = 'local'
|
||||||
version = mopidy.__version__
|
version = mopidy.__version__
|
||||||
|
|
||||||
def get_default_config(self):
|
def get_default_config(self):
|
||||||
|
|||||||
@ -68,7 +68,7 @@ https://github.com/mopidy/mopidy/issues?labels=Spotify+backend
|
|||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-Spotify'
|
dist_name = 'Mopidy-Spotify'
|
||||||
ext_name = 'spotify'
|
name = 'spotify'
|
||||||
version = mopidy.__version__
|
version = mopidy.__version__
|
||||||
|
|
||||||
def get_default_config(self):
|
def get_default_config(self):
|
||||||
|
|||||||
@ -46,7 +46,7 @@ None
|
|||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-Stream'
|
dist_name = 'Mopidy-Stream'
|
||||||
ext_name = 'stream'
|
name = 'stream'
|
||||||
version = mopidy.__version__
|
version = mopidy.__version__
|
||||||
|
|
||||||
def get_default_config(self):
|
def get_default_config(self):
|
||||||
|
|||||||
@ -6,9 +6,15 @@ from mopidy.utils import config
|
|||||||
class Extension(object):
|
class Extension(object):
|
||||||
|
|
||||||
dist_name = None
|
dist_name = None
|
||||||
ext_name = None
|
name = None
|
||||||
version = 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):
|
def get_default_config(self):
|
||||||
raise NotImplementedError(
|
raise NotImplementedError(
|
||||||
'Add at least a config section with "enabled = true"')
|
'Add at least a config section with "enabled = true"')
|
||||||
|
|||||||
@ -520,7 +520,7 @@ Example to get started with
|
|||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-HTTP'
|
dist_name = 'Mopidy-HTTP'
|
||||||
ext_name = 'http'
|
name = 'http'
|
||||||
version = mopidy.__version__
|
version = mopidy.__version__
|
||||||
|
|
||||||
def get_default_config(self):
|
def get_default_config(self):
|
||||||
|
|||||||
@ -45,7 +45,7 @@ The frontend is enabled by default if all dependencies are available.
|
|||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-Lastfm'
|
dist_name = 'Mopidy-Lastfm'
|
||||||
ext_name = 'lastfm'
|
name = 'lastfm'
|
||||||
version = mopidy.__version__
|
version = mopidy.__version__
|
||||||
|
|
||||||
def get_default_config(self):
|
def get_default_config(self):
|
||||||
|
|||||||
@ -89,7 +89,7 @@ near future:
|
|||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-MPD'
|
dist_name = 'Mopidy-MPD'
|
||||||
ext_name = 'mpd'
|
name = 'mpd'
|
||||||
version = mopidy.__version__
|
version = mopidy.__version__
|
||||||
|
|
||||||
def get_default_config(self):
|
def get_default_config(self):
|
||||||
|
|||||||
@ -71,7 +71,7 @@ Now you can control Mopidy through the player object. Examples:
|
|||||||
class Extension(ext.Extension):
|
class Extension(ext.Extension):
|
||||||
|
|
||||||
dist_name = 'Mopidy-MPRIS'
|
dist_name = 'Mopidy-MPRIS'
|
||||||
ext_name = 'mpris'
|
name = 'mpris'
|
||||||
version = mopidy.__version__
|
version = mopidy.__version__
|
||||||
|
|
||||||
def get_default_config(self):
|
def get_default_config(self):
|
||||||
|
|||||||
@ -13,9 +13,16 @@ class ExtensionTest(unittest.TestCase):
|
|||||||
def test_dist_name_is_none(self):
|
def test_dist_name_is_none(self):
|
||||||
self.assertIsNone(self.ext.dist_name)
|
self.assertIsNone(self.ext.dist_name)
|
||||||
|
|
||||||
|
def test_name_is_none(self):
|
||||||
|
self.assertIsNone(self.ext.name)
|
||||||
|
|
||||||
def test_ext_name_is_none(self):
|
def test_ext_name_is_none(self):
|
||||||
self.assertIsNone(self.ext.ext_name)
|
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):
|
def test_version_is_none(self):
|
||||||
self.assertIsNone(self.ext.version)
|
self.assertIsNone(self.ext.version)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user