mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
145: Added new CLI.parse() method; added corresponding unit tests
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user