From b4ad681f410ee5be56b0b02f73306aa49e5c668a Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Wed, 13 Aug 2008 05:14:12 +0000 Subject: 143: Added errors.RequirementError exception; cmd.validate() now raises RequirementError if a required option is missing --- ipalib/public.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'ipalib/public.py') 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) -- cgit