Revision f52b39db kamaki/cli/argument/__init__.py

b/kamaki/cli/argument/__init__.py
67 67
                    self, name)
68 68
            assert name.startswith('-'), msg
69 69

  
70
        self.default = default or (None if self.arity else False)
70
        self.default = default if (default or self.arity) else False
71 71

  
72 72
    @property
73 73
    def value(self):
......
296 296
        :param keyvalue_pairs: (str) ['key1=val1', 'key2=val2', ...]
297 297
        """
298 298
        self._value = {}
299
        for pair in keyvalue_pairs:
300
            key, sep, val = pair.partition('=')
301
            if not sep:
302
                raiseCLIError(
303
                    CLISyntaxError('Argument syntax error '),
304
                    details='%s is missing a "=" (usage: key1=val1 )\n' % pair)
299
        try:
300
            for pair in keyvalue_pairs:
301
                key, sep, val = pair.partition('=')
302
                assert sep, ' %s misses a "=" (usage: key1=val1 )\n' % (pair)
305 303
            self._value[key] = val
304
        except Exception as e:
305
            raiseCLIError(e, 'KeyValueArgument Syntax Error')
306 306

  
307 307

  
308 308
class ProgressBarArgument(FlagArgument):

Also available in: Unified diff