main: Validate extension's distribution requirements

This commit is contained in:
Stein Magnus Jodal 2013-04-01 18:48:13 +02:00
parent 8ff7d792d5
commit e1d75eec30
2 changed files with 12 additions and 4 deletions

View File

@ -144,7 +144,15 @@ def load_extensions():
extensions = [] extensions = []
for entry_point in pkg_resources.iter_entry_points('mopidy.extension'): for entry_point in pkg_resources.iter_entry_points('mopidy.extension'):
logger.debug('Loading extension %s', entry_point.name) logger.debug('Loading extension %s', entry_point.name)
extension_class = entry_point.load()
try:
extension_class = entry_point.load()
except pkg_resources.DistributionNotFound as ex:
logger.info(
'Disabled extension %s: Dependency %s not found',
entry_point.name, ex)
continue
extension = extension_class() extension = extension_class()
# TODO Validate configuration, filter out disabled extensions # TODO Validate configuration, filter out disabled extensions

View File

@ -45,12 +45,12 @@ setup(
'mopidy-scan = mopidy.scanner:main', 'mopidy-scan = mopidy.scanner:main',
], ],
b'mopidy.extension': [ b'mopidy.extension': [
'http = mopidy.frontends.http:Extension', 'http = mopidy.frontends.http:Extension [http]',
'lastfm = mopidy.frontends.lastfm:Extension', 'lastfm = mopidy.frontends.lastfm:Extension [lastfm]',
'local = mopidy.backends.local:Extension', 'local = mopidy.backends.local:Extension',
'mpd = mopidy.frontends.mpd:Extension', 'mpd = mopidy.frontends.mpd:Extension',
'mpris = mopidy.frontends.mpris:Extension', 'mpris = mopidy.frontends.mpris:Extension',
'spotify = mopidy.backends.spotify:Extension', 'spotify = mopidy.backends.spotify:Extension [spotify]',
'stream = mopidy.backends.stream:Extension', 'stream = mopidy.backends.stream:Extension',
], ],
}, },