Skip to content

Commit 8680dbe

Browse files
committed
Fix nargs
1 parent 2483928 commit 8680dbe

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

julia/pseudo_python_cli.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,7 @@ def _add_argument_impl(self, name, alt, dest=None, nargs=None, action=None,
141141
raise TypeError("`nargs` and `action` are mutually exclusive")
142142
if action == "store_true":
143143
nargs = 0
144-
if nargs is None:
145-
nargs = 1
146-
assert isinstance(nargs, int)
144+
assert nargs is None or isinstance(nargs, int)
147145
assert action in (None, "store_true")
148146

149147
assert dest not in self._dests
@@ -199,7 +197,10 @@ def _parse_until_terminal(self, ns, args_iter):
199197
.format(", ".join(res.option.argdest.names)))
200198
seen.add(dest)
201199

202-
while len(res.values) < res.option.nargs:
200+
num_args = res.option.nargs
201+
if num_args is None:
202+
num_args = 1
203+
while len(res.values) < num_args:
203204
try:
204205
res.values.append(next(args_iter))
205206
except StopIteration:
@@ -209,7 +210,7 @@ def _parse_until_terminal(self, ns, args_iter):
209210
setattr(ns, dest, True)
210211
else:
211212
value = res.values
212-
if res.option.nargs == 1:
213+
if res.option.nargs is None:
213214
value, = value
214215
setattr(ns, dest, value)
215216

@@ -233,7 +234,7 @@ def _find_matches(self, arg):
233234
if opt.is_long and arg[len(opt.name)] == "=":
234235
return [Result(opt, [arg[len(opt.name) + 1:]])]
235236
elif not opt.is_long:
236-
if opt.nargs > 0:
237+
if opt.nargs != 0:
237238
return [Result(opt, [arg[len(opt.name):]])]
238239
else:
239240
results = [Result(opt, [])]

0 commit comments

Comments
 (0)