summaryrefslogtreecommitdiffstats
path: root/ipalib/public.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-09-04 01:01:40 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-09-04 01:01:40 +0000
commit7e3664a964e6c0ef0c773ae8eb3ab3ac21385649 (patch)
tree284afad16a113798bdc8b5ae3f0bfc6d90b9066f /ipalib/public.py
parentb53ff67ff168ee416e2e5ac017d90410feeb53f5 (diff)
downloadfreeipa.git-7e3664a964e6c0ef0c773ae8eb3ab3ac21385649.tar.gz
freeipa.git-7e3664a964e6c0ef0c773ae8eb3ab3ac21385649.tar.xz
freeipa.git-7e3664a964e6c0ef0c773ae8eb3ab3ac21385649.zip
250: Updated Option.validate to utilize the ValidationError.index attribute; updated unit tests for Option.validate to test use of index attribute
Diffstat (limited to 'ipalib/public.py')
-rw-r--r--ipalib/public.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/ipalib/public.py b/ipalib/public.py
index 915a1890..91f357ca 100644
--- a/ipalib/public.py
+++ b/ipalib/public.py
@@ -144,18 +144,16 @@ class Option(plugable.ReadOnly):
for rule in self.rules:
error = rule(value)
if error is not None:
- raise errors.RuleError(self.name, value, error, rule)
+ raise errors.RuleError(
+ self.name, value, error, rule, index=index
+ )
def validate(self, value):
- if value is None and self.required:
- raise errors.RequirementError(self.name)
- else:
- return
if self.multivalue:
if type(value) is not tuple:
- raise TypeError('multivalue must be a tuple; got %r' % value)
- for v in value:
- self.__validate_scalar(v)
+ raise_TypeError(value, tuple, 'value')
+ for (i, v) in enumerate(value):
+ self.__validate_scalar(v, i)
else:
self.__validate_scalar(value)