Fix nargs handling

This commit is contained in:
Florian Bruhin 2014-04-10 11:48:26 +02:00
parent e8f2698877
commit 237ff93908
2 changed files with 5 additions and 8 deletions

View File

@ -77,7 +77,9 @@ class Command(QObject):
ArgumentCountError if the argument count is wrong.
"""
if self.nargs[0] <= len(args) <= self.nargs[1]:
if self.nargs[1] is None and self.nargs[0] <= len(args):
pass
elif self.nargs[0] <= len(args) <= self.nargs[1]:
pass
else:
if self.nargs[0] == self.nargs[1]:

View File

@ -57,10 +57,7 @@ class register:
self.name = name
self.split_args = split_args
self.hide = hide
if isinstance(nargs, Iterable) or nargs is None:
self.nargs = nargs
else:
self.nargs = (nargs, nargs)
self.nargs = nargs
self.instance = instance
self.completion = completion
@ -89,8 +86,6 @@ class register:
mainname = name[0]
names += name
count, nargs = self._get_nargs_count(func)
if self.nargs is not None:
nargs = self.nargs
desc = func.__doc__.splitlines()[0].strip().rstrip('.')
cmd = Command(name=mainname, split_args=self.split_args,
hide=self.hide, nargs=nargs, count=count, desc=desc,
@ -142,5 +137,5 @@ class register:
if spec.varargs is not None:
maxargs = None
else:
maxargs = len(spec.args) - int(count) # -1 if count is defined
maxargs = argcount - int(count) # -1 if count is defined
return (count, (minargs, maxargs))