145: Added new CLI.parse() method; added corresponding unit tests

This commit is contained in:
Jason Gerard DeRose
2008-08-13 06:25:42 +00:00
parent 6924d5e25e
commit 337c9964d4
2 changed files with 32 additions and 1 deletions

View File

@@ -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.