fix: Setting.set was incorrectly instanciating ValidationError.

This commit is contained in:
Romain Dorgueil
2018-08-11 07:26:14 +02:00
parent df84d917c3
commit 3ea0952bd3
2 changed files with 12 additions and 2 deletions

View File

@ -31,7 +31,7 @@ class Setting:
def __init__(self, name, default=None, validator=None, formatter=None):
self.name = name
if default:
if default is not None:
self.default = default if callable(default) else lambda: default
else:
self.default = lambda: None
@ -51,7 +51,7 @@ class Setting:
def set(self, value):
value = self.formatter(value) if self.formatter else value
if self.validator and not self.validator(value):
raise ValidationError('Invalid value {!r} for setting {}.'.format(value, self.name))
raise ValidationError(self, 'Invalid value {!r} for setting {}.'.format(value, self.name))
self.value = value
def set_if_true(self, value):