summaryrefslogtreecommitdiffstats
path: root/ipalib/cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/cli.py')
-rw-r--r--ipalib/cli.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py
index 6f0305d6..bf96d369 100644
--- a/ipalib/cli.py
+++ b/ipalib/cli.py
@@ -97,7 +97,9 @@ class CLI(object):
sys.exit(2)
self.run_cmd(cmd, sys.argv[2:])
- def run_cmd(self, cmd, args):
+ def run_cmd(self, cmd, given):
+ print self.parse(given)
+ sys.exit(0)
kw = dict(self.parse_kw(args))
self[cmd](**kw)
@@ -110,6 +112,18 @@ class CLI(object):
m.group(2),
)
+ def parse(self, given):
+ args = []
+ kw = {}
+ for g in given:
+ m = re.match(r'^--([a-z][-a-z0-9]*)=(.+)$', g)
+ if m:
+ kw[from_cli(m.group(1))] = m.group(2)
+ else:
+ args.append(g)
+ return (args, kw)
+
+
def __get_mcl(self):
"""
Returns the Max Command Length.