Add new Error type to skip prepending path (#6716)

This commit is contained in:
Jesse Hills 2024-05-10 10:57:47 +12:00 committed by GitHub
parent 026c3a69b8
commit 8280772b91
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View File

@ -148,6 +148,8 @@ class Config(OrderedDict, fv.FinalValidateConfig):
path = path or [] path = path or []
try: try:
yield yield
except cv.FinalExternalInvalid as e:
self.add_error(e)
except vol.Invalid as e: except vol.Invalid as e:
e.prepend(path) e.prepend(path)
self.add_error(e) self.add_error(e)

View File

@ -267,6 +267,10 @@ class Required(vol.Required):
super().__init__(key, msg=msg) super().__init__(key, msg=msg)
class FinalExternalInvalid(Invalid):
"""Represents an invalid value in the final validation phase where the path should not be prepended."""
def check_not_templatable(value): def check_not_templatable(value):
if isinstance(value, Lambda): if isinstance(value, Lambda):
raise Invalid("This option is not templatable!") raise Invalid("This option is not templatable!")