예제 #1
0
 def read_argument(self, ba, i):
     """Stores the argument in `CliBoundArguments.kwargs` if it isn't
     already present."""
     if self.argument_name in ba.kwargs:
         raise errors.DuplicateNamedArgument()
     val = self.get_value(ba, i)
     ba.kwargs[self.argument_name] = self.coerce_value(val, ba)
예제 #2
0
    def read_argument(self, ba, i):
        """Handles redispatching after a numerical value."""
        if self.argument_name in ba.kwargs:
            raise errors.DuplicateNamedArgument()
        arg = ba.in_args[i]
        if arg.startswith('--'):
            super(IntOptionParameter, self).read_argument(ba, i)
            return

        arg = arg.lstrip('-')[1:]
        if not arg:
            super(IntOptionParameter, self).read_argument(ba, i)
            return

        val, rest = split_int_rest(arg)
        self.set_value(ba, self.coerce_value(val, ba))

        self.redispatch_short_arg(rest, ba, i)
예제 #3
0
 def read_argument(self, ba, i):
     """Stores the argument in `CliBoundArguments.kwargs` if it isn't
     already present."""
     if self.argument_name in ba.kwargs:
         raise errors.DuplicateNamedArgument()
     super(OptionParameter, self).read_argument(ba, i)