Revision af6de846 kamaki/cli/argument.py
b/kamaki/cli/argument.py | ||
---|---|---|
33 | 33 |
|
34 | 34 |
from kamaki.cli.config import Config |
35 | 35 |
from kamaki.cli.errors import CLISyntaxError |
36 |
from argparse import ArgumentParser, ArgumentError |
|
36 | 37 |
|
37 | 38 |
try: |
38 | 39 |
from progress.bar import IncrementalBar |
... | ... | |
277 | 278 |
for name, arg in arguments.items(): |
278 | 279 |
arg.value = getattr(parsed, name, arg.default) |
279 | 280 |
return parsed, unparsed |
281 |
|
|
282 |
|
|
283 |
def init_parser(exe, arguments): |
|
284 |
parser = ArgumentParser(add_help=False) |
|
285 |
parser.prog = '%s <cmd_group> [<cmd_subbroup> ...] <cmd>' % exe |
|
286 |
update_arguments(parser, arguments) |
|
287 |
return parser |
|
288 |
|
|
289 |
|
|
290 |
def update_arguments(parser, arguments): |
|
291 |
for name, argument in arguments.items(): |
|
292 |
try: |
|
293 |
argument.update_parser(parser, name) |
|
294 |
except ArgumentError: |
|
295 |
pass |
Also available in: Unified diff