+ arg = self._c['property editor']._argument_from_label.get(
+ name, None)
+ if arg == None:
+ continue
+ elif arg.count == 1:
+ args[arg.name] = value
+ continue
+ # deal with counted arguments
+ if arg.name not in args:
+ args[arg.name] = {}
+ index = int(name[len(arg.name):])
+ args[arg.name][index] = value
+ for arg in command.arguments:
+ count = arg.count
+ if hasattr(arg, '_display_count'): # support HACK in props_from_argument()
+ count = arg._display_count
+ if count != 1 and arg.name in args:
+ keys = sorted(args[arg.name].keys())
+ assert keys == range(count), keys
+ args[arg.name] = [args[arg.name][i]
+ for i in range(count)]
+ if arg.count == -1:
+ while (len(args[arg.name]) > 0
+ and args[arg.name][-1] == None):
+ args[arg.name].pop()
+ if len(args[arg.name]) == 0:
+ args[arg.name] = arg.default