From be642f00e98cbb28c9da82862bf563360a21b562 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Fri, 16 Apr 2010 17:13:25 +0200 Subject: [PATCH] works when there are default arguments --- weboob/tools/application/console.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/weboob/tools/application/console.py b/weboob/tools/application/console.py index 5a690efe..ce3c719d 100644 --- a/weboob/tools/application/console.py +++ b/weboob/tools/application/console.py @@ -82,15 +82,15 @@ class ConsoleApplication(BaseApplication): func = getattr(self, matching_commands[0]) _args, varargs, varkw, defaults = getargspec(func) - nb_args = len(_args) - 1 + nb_max_args = nb_min_args = len(_args) - 1 if defaults: - nb_args -= len(defaults) + nb_min_args -= len(defaults) - if len(args) < nb_args or len(args) > nb_args and not varargs: - if varargs: - sys.stderr.write("Command '%s' takes at least %d arguments.\n" % (command, nb_args)) + if len(args) < nb_min_args or len(args) > nb_max_args and not varargs: + if varargs or default: + sys.stderr.write("Command '%s' takes at least %d arguments.\n" % (command, nb_min_args)) else: - sys.stderr.write("Command '%s' takes %d arguments.\n" % (command, nb_args)) + sys.stderr.write("Command '%s' takes %d arguments.\n" % (command, nb_min_args)) return return func(*args) else: