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()
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)
def __iter__(self): return EnabledExtensionManager.__iter__(self)
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)
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(): extensions = [test_extension, test_extension2] em = EnabledExtensionManager.make_test_instance(extensions) assert extensions == em.extensions