Ejemplo n.º 1
0
    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")
Ejemplo n.º 2
0
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()})
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
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()
    })
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
def register_providers(context):
    conn = get_connection('collector')
    em = ExtensionManager(Provider.__plugin_ns__)
    em.map(_register, context, conn)
Ejemplo n.º 7
0
def register_providers(context):
    conn = get_connection('collector')
    em = ExtensionManager(Provider.__plugin_ns__)
    em.map(_register, context, conn)