This commit is contained in:
Jesse Bannon 2025-12-21 09:17:33 -08:00
parent 23ec73b3dc
commit 7fb8da5108
4 changed files with 17 additions and 2 deletions

View file

@ -217,3 +217,11 @@ class PluginMapping:
f"{', '.join(cls.plugins())}" f"{', '.join(cls.plugins())}"
) )
return cls._MAPPING[plugin] return cls._MAPPING[plugin]
@classmethod
def name_of(cls, plugin_options: OptionsValidator) -> str:
for name, plugin_type in cls._MAPPING.items():
if plugin_type.plugin_options_type == plugin_options.__class__:
return name
raise ValueError("Plugin name does not exist")

View file

@ -199,10 +199,11 @@ class VariableValidation:
for plugin_options in PluginMapping.order_options_by( for plugin_options in PluginMapping.order_options_by(
self.plugins.zipped(), PluginOperation.MODIFY_ENTRY self.plugins.zipped(), PluginOperation.MODIFY_ENTRY
): ):
plugin_key = PluginMapping.name_of(plugin_options)
self._add_variables(PluginOperation.MODIFY_ENTRY, options=plugin_options) self._add_variables(PluginOperation.MODIFY_ENTRY, options=plugin_options)
# Validate that any formatter in the plugin options can resolve # Validate that any formatter in the plugin options can resolve
resolved_subscription[plugin_options.__class__.__name__] = validate_formatters( resolved_subscription[plugin_key] = validate_formatters(
script=self.script, script=self.script,
unresolved_variables=self.unresolved_variables, unresolved_variables=self.unresolved_variables,
validator=plugin_options, validator=plugin_options,

View file

@ -245,3 +245,6 @@ class BaseSubscription(ABC):
Subscription in yaml format Subscription in yaml format
""" """
return self._preset_options.yaml return self._preset_options.yaml
def resolved_yaml(self):
return self._preset_options.validated_dict

View file

@ -246,7 +246,10 @@ def _validate_formatter(
unresolvable=unresolvable, unresolvable=unresolvable,
update=True, update=True,
) )
return out['tmp_var'].native
if is_static_formatter:
return out['tmp_var'].native
return formatter_validator.format_string
except RuntimeException as exc: except RuntimeException as exc:
if isinstance(exc, ScriptVariableNotResolved) and is_static_formatter: if isinstance(exc, ScriptVariableNotResolved) and is_static_formatter:
raise StringFormattingVariableNotFoundException( raise StringFormattingVariableNotFoundException(