self._arguments.update(new_arguments)
self.update_parser()
- def parse(self):
+ def parse(self, new_args=None):
"""Do parse user input"""
- self._parsed, unparsed = self.parser.parse_known_args()
+ if new_args:
+ self._parsed, unparsed = self.parser.parse_known_args(new_args)
+ else:
+ self._parsed, unparsed = self.parser.parse_known_args()
for name, arg in self.arguments.items():
arg.value = getattr(self._parsed, name, arg.default)
self._unparsed = []
if '-h' in cmd_args or '--help' in cmd_args:
cmd_parser.parser.print_help()
return
+ cmd_parser.parse(cmd_args)
for name, arg in instance.arguments.items():
arg.value = getattr(cmd_parser.parsed, name, arg.default)