summaryrefslogtreecommitdiffstats
path: root/ipalib/cli.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-09-10 23:33:36 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-09-10 23:33:36 +0000
commit23e251a605c8e7cc44450411b841141cc0979638 (patch)
tree640e62ee7dd7c7a365294a875c959d95649e6e74 /ipalib/cli.py
parentc17c5efb4e30c78bb53022e86f74b718dd49e758 (diff)
downloadfreeipa-23e251a605c8e7cc44450411b841141cc0979638.tar.gz
freeipa-23e251a605c8e7cc44450411b841141cc0979638.tar.xz
freeipa-23e251a605c8e7cc44450411b841141cc0979638.zip
288: CLI now uses Command.group_args() to check for required arguments
Diffstat (limited to 'ipalib/cli.py')
-rw-r--r--ipalib/cli.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py
index 54693ffd..594e2812 100644
--- a/ipalib/cli.py
+++ b/ipalib/cli.py
@@ -31,6 +31,10 @@ import plugable
import ipa_types
+def exit_error(error):
+ sys.exit('ipa: ERROR: %s' % error)
+
+
def to_cli(name):
"""
Takes a Python identifier and transforms it into form suitable for the
@@ -195,6 +199,10 @@ class CLI(object):
def run_cmd(self, cmd, argv):
(args, kw) = self.parse(cmd, argv)
+ try:
+ args = cmd.group_args(*args)
+ except errors.ArgumentError, e:
+ exit_error('%s %s' % (to_cli(cmd.name), e.error))
self.run_interactive(cmd, args, kw)
def run_interactive(self, cmd, args, kw):