Plugins: Populate optional defaults in plugin initialization

Fixes issue #324.
This commit is contained in:
Mike Auty
2020-08-31 23:10:22 +01:00
parent 7ab72a1066
commit 6caebee079
@@ -100,6 +100,11 @@ class PluginInterface(interfaces.configuration.ConfigurableInterface,
if self.unsatisfied(context, config_path):
vollog.warning("Plugin failed validation")
raise exceptions.PluginRequirementException("The plugin configuration failed to validate")
# Populate any optional defaults
for requirement in self.get_requirements():
if requirement.name not in self.config:
self.config[requirement.name] = requirement.default
self._file_consumer = None # type: Optional[FileConsumerInterface]
framework.require_interface_version(*self._required_framework_version)