Beispiel #1
0
    def __init__(self, config: Config, invoke_on_load=False):
        self._logger = logging.getLogger(__name__)

        self.failed_plugins = list()
        self._disabled_plugins = config.plugins.disabled

        self._settings_initialized = False

        def check(ext: Extension):
            return self._check_extension(config, ext)

        self.weather = DriverManager(
            "blueweather.plugins.weather",
            config.plugins.weather_driver,
            on_load_failure_callback=self._on_load_fail
        )
        self.plugins = ExtensionManager(
            "blueweather.plugins.plugin",
            on_load_failure_callback=self._on_load_fail
        )
        self.api = EnabledExtensionManager(
            "blueweather.plugins.api",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )
        self.startup = EnabledExtensionManager(
            "blueweather.plugins.startup",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )
        self.settings = EnabledExtensionManager(
            "blueweather.plugins.settings",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )
        self.unitConversion = DispatchExtensionManager(
            "blueweather.plugins.unitconv",
            check_func=check,
            on_load_failure_callback=self._on_load_fail
        )

        if self._logger.isEnabledFor(logging.INFO):
            extensions = self.getAllExtensions()
            for k, v in extensions.items():
                extensions[k] = '\n\t'.join(v.keys())

            extensions = '\n'.join(
                ["%s: \n\t%s" % (k, v) for k, v in extensions.items()]
            )

            self._logger.info("Discovered Extensions: \n%s", extensions)

        if invoke_on_load:
            self.invoke()
Beispiel #2
0
    def __init__(self, providers=None, provider_configs=None):
        #: Name of providers to use
        self.providers = providers or provider_manager.names()

        #: Provider configuration
        self.provider_configs = provider_configs or {}

        #: Initialized providers
        self.initialized_providers = {}

        #: Discarded providers
        self.discarded_providers = set()

        #: Dedicated :data:`provider_manager` as :class:`~stevedore.enabled.EnabledExtensionManager`
        self.manager = EnabledExtensionManager(
            provider_manager.namespace, lambda e: e.name in self.providers)
 def test_enabled_instance_should_use_supplied_extensions(self):
     extensions = [test_extension, test_extension2]
     em = EnabledExtensionManager.make_test_instance(extensions)
     self.assertEqual(extensions, em.extensions)
Beispiel #4
0
 def __iter__(self):
     return EnabledExtensionManager.__iter__(self)
Beispiel #5
0
 def __init__(self, namespace='guessit.transformer', check_func=_is_enabled, invoke_on_load=True,
     invoke_args=(), invoke_kwds={},
     propagate_map_exceptions=True):
     EnabledExtensionManager.__init__(self, namespace, check_func, invoke_on_load=invoke_on_load,
                                      invoke_args=invoke_args, invoke_kwds=invoke_kwds,
                                      propagate_map_exceptions=propagate_map_exceptions)
Beispiel #6
0
 def _load_plugins(self, invoke_on_load, invoke_args, invoke_kwds):
     return self.order_extensions(EnabledExtensionManager._load_plugins(self, invoke_on_load, invoke_args, invoke_kwds))
 def test_enabled_instance_should_use_supplied_extensions(self):
     extensions = [test_extension, test_extension2]
     em = EnabledExtensionManager.make_test_instance(extensions)
     self.assertEqual(extensions, em.extensions)
def test_enabled_instance_should_use_supplied_extensions():
    extensions = [test_extension, test_extension2]
    em = EnabledExtensionManager.make_test_instance(extensions)

    assert extensions == em.extensions
def test_enabled_instance_should_use_supplied_extensions():
    extensions = [test_extension, test_extension2]
    em = EnabledExtensionManager.make_test_instance(extensions)

    assert extensions == em.extensions