From: Dmitry Selyutin Date: Wed, 20 Sep 2017 08:12:40 +0000 (+0300) Subject: parser: fix verbosity option X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=ce3ebed7ece4bfeb9ad0dc159bdbfdda9589b536;p=gnulib.git parser: fix verbosity option --- diff --git a/pygnulib/parser.py b/pygnulib/parser.py index ad5d247f0a..9ac06619d3 100644 --- a/pygnulib/parser.py +++ b/pygnulib/parser.py @@ -183,15 +183,19 @@ class CommandLine: super().__call__(*args) - class _VerbosityAction_(_Option_): + class _VerbosityOption_(_Option_): + def __init__(self, *args, **kwargs): + super().__init__(nargs=0, *args, **kwargs) + + def __call__(self, parser, namespace, value, option=None): - args = (parser, namespace, value, option) if not hasattr(namespace, self.dest): setattr(namespace, self.dest, 0) value = getattr(namespace, self.dest) verbose = option in ("-v", "--verbose") value += +1 if verbose else -1 setattr(namespace, self.dest, value) + args = (parser, namespace, value, option) super().__call__(*args) @@ -436,14 +440,14 @@ class CommandLine: "help": ( "increase verbosity; may be repeated", ), - "action": _VerbosityAction_, + "action": _VerbosityOption_, "dest": "verbosity", }), (["-q", "--quiet"], { "help": ( "decrease verbosity; may be repeated", ), - "action": _VerbosityAction_, + "action": _VerbosityOption_, "dest": "verbosity", }), ),