diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-13 05:14:12 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-13 05:14:12 +0000 |
commit | b4ad681f410ee5be56b0b02f73306aa49e5c668a (patch) | |
tree | fd52bfcc9f1cade2edcaa0610ffed1f4aad022fc /ipalib/public.py | |
parent | 47fed6c4c2ec509f1283bf18c4aad6eff9a4b756 (diff) | |
download | freeipa.git-b4ad681f410ee5be56b0b02f73306aa49e5c668a.tar.gz freeipa.git-b4ad681f410ee5be56b0b02f73306aa49e5c668a.tar.xz freeipa.git-b4ad681f410ee5be56b0b02f73306aa49e5c668a.zip |
143: Added errors.RequirementError exception; cmd.validate() now raises RequirementError if a required option is missing
Diffstat (limited to 'ipalib/public.py')
-rw-r--r-- | ipalib/public.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ipalib/public.py b/ipalib/public.py index 9677358f..4c085ba3 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -199,9 +199,13 @@ class cmd(plugable.Plugin): def validate(self, **kw): self.print_call('validate', kw, 1) - for (key, value) in kw.items(): - if key in self.options: - self.options[key].validate(value) + for opt in self.options: + value = kw.get(opt.name, None) + if value is None: + if opt.required: + raise errors.RequirementError(opt.name) + continue + opt.validate(value) def execute(self, **kw): self.print_call('execute', kw, 1) |