Revision c8e17a67 kamaki/cli/argument.py

b/kamaki/cli/argument.py
231 231
        try:
232 232
            self._value = int(newvalue)
233 233
        except ValueError:
234
            raiseCLIError(CLISyntaxError('IntArgument Error'),
235
                details='Value %s not an int' % newvalue)
234
            raiseCLIError(CLISyntaxError('IntArgument Error',
235
                details=['Value %s not an int' % newvalue]))
236 236

  
237 237

  
238 238
class VersionArgument(FlagArgument):
......
444 444

  
445 445
    def parse(self, new_args=None):
446 446
        """Do parse user input"""
447
        if new_args:
448
            self._parsed, unparsed = self.parser.parse_known_args(new_args)
449
        else:
450
            self._parsed, unparsed = self.parser.parse_known_args()
447
        try:
448
            if new_args:
449
                self._parsed, unparsed = self.parser.parse_known_args(new_args)
450
            else:
451
                self._parsed, unparsed = self.parser.parse_known_args()
452
        except SystemExit:
453
            # deal with the fact that argparse error system is STUPID
454
            raiseCLIError(CLISyntaxError('Argument Syntax Error'))
451 455
        for name, arg in self.arguments.items():
452 456
            arg.value = getattr(self._parsed, name, arg.default)
453 457
        self._unparsed = []

Also available in: Unified diff