def _load_plugins(self, plugins): """ Load plugins via Stevedore. """ mgr = ExtensionManager( namespace='force.bdss.extensions', invoke_on_load=True, on_load_failure_callback=functools.partial(_load_failure_callback, plugins) ) try: mgr.map(functools.partial(_import_extensions, plugins)) except NoMatches: log.info("No extensions found")
def list_providers(): """ Return a list of installed providers. """ em = ExtensionManager(NAMESPACE) return em.map(lambda p: {'name': p.name, 'version': p.plugin().get_version()})
def _register_extensions(self, namespace): """Register any extensions under the given namespace.""" # Register any extension classes for this class. extmanager = ExtensionManager( 'extensions.classes.{}'.format(namespace), propagate_map_exceptions=True) if extmanager.extensions: extmanager.map(util.register_extension_class, base=self) # Register any extension methods for this class. extmanager = ExtensionManager( 'extensions.methods.{}'.format(namespace), propagate_map_exceptions=True) if extmanager.extensions: extmanager.map(util.register_extension_method, base=self)
def list_providers(): """ Return a list of installed providers. """ em = ExtensionManager(NAMESPACE) return em.map(lambda p: { 'name': p.name, 'version': p.plugin().get_version() })
def _register_extensions(self, namespace): """Register any extensions under the given namespace.""" # Register any extension classes for this class. extmanager = ExtensionManager( 'extensions.classes.{}'.format(namespace), propagate_map_exceptions=True ) if extmanager.extensions: extmanager.map(util.register_extension_class, base=self) # Register any extension methods for this class. extmanager = ExtensionManager( 'extensions.methods.{}'.format(namespace), propagate_map_exceptions=True ) if extmanager.extensions: extmanager.map(util.register_extension_method, base=self)
def register_providers(context): conn = get_connection('collector') em = ExtensionManager(Provider.__plugin_ns__) em.map(_register, context, conn)