diff options
Diffstat (limited to 'cmd2/pyscript_bridge.py')
-rw-r--r-- | cmd2/pyscript_bridge.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/cmd2/pyscript_bridge.py b/cmd2/pyscript_bridge.py index 88e12bfb..d48317c3 100644 --- a/cmd2/pyscript_bridge.py +++ b/cmd2/pyscript_bridge.py @@ -64,15 +64,16 @@ class ArgparseFunctor: for action in parser._actions: # was something provided for the argument if action.dest in self._args: - # was the argument a flag? - # TODO: Handle 'narg' and 'append' options - if action.option_strings: - cmd_str[0] += '"{}" "{}" '.format(action.option_strings[0], self._args[action.dest]) + if isinstance(action, argparse._SubParsersAction): + traverse_parser(action.choices[self._args[action.dest]]) else: + # was the argument a flag? + if action.option_strings: + cmd_str[0] += '{} '.format(action.option_strings[0]) + + # TODO: Handle 'narg' and 'append' options cmd_str[0] += '"{}" '.format(self._args[action.dest]) - if isinstance(action, argparse._SubParsersAction): - traverse_parser(action.choices[self._args[action.dest]]) traverse_parser(self._parser) func(cmd_str[0]) |