From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 5D44C1381F3 for ; Tue, 17 Sep 2013 16:41:03 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 466E2E0C43; Tue, 17 Sep 2013 16:40:59 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9F1BAE0C3D for ; Tue, 17 Sep 2013 16:40:58 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A739F33ECC0 for ; Tue, 17 Sep 2013 16:40:57 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 5957BE5463 for ; Tue, 17 Sep 2013 16:40:56 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1379432414.121aa5600cb23ef787fe0ede4d360158bbed8b52.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/ X-VCS-Repository: proj/R_overlay X-VCS-Files: roverlay/argparser.py X-VCS-Directories: roverlay/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: 121aa5600cb23ef787fe0ede4d360158bbed8b52 X-VCS-Branch: master Date: Tue, 17 Sep 2013 16:40:56 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: b7a29d46-1d79-4a5d-a02b-a5d73e680a3c X-Archives-Hash: c8bd0988e8eec2f3336a665fcacf4b71 commit: 121aa5600cb23ef787fe0ede4d360158bbed8b52 Author: André Erdmann mailerd de> AuthorDate: Tue Sep 17 15:40:14 2013 +0000 Commit: André Erdmann mailerd de> CommitDate: Tue Sep 17 15:40:14 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=121aa560 argparser: forbid "multiple commands + subparsers" --- roverlay/argparser.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/roverlay/argparser.py b/roverlay/argparser.py index d52a1e2..5a59dd5 100644 --- a/roverlay/argparser.py +++ b/roverlay/argparser.py @@ -619,7 +619,8 @@ class RoverlayArgumentParser ( RoverlayArgumentParserBase ): ) return arg - else: + + elif not self.MULTIPLE_COMMANDS: self.add_subparsers ( title="commands", description=self.format_command_map ( self.COMMAND_DESCRIPTION ), @@ -627,12 +628,19 @@ class RoverlayArgumentParser ( RoverlayArgumentParserBase ): help="action to perform [%(default)s]", ) # set_defaults() not necessary due to get_args_to_parse() - self.parser.set_defaults ( command=self.default_command ) + # (required for proper help=...%(default)s, though) + #self.parser.set_defaults ( command=self.default_command ) - for command in self.COMMAND_DESCRIPTION: - subparser = self.add_subparser ( command ) + subparsers = [ + self.add_subparser ( command ) + for command in self.COMMAND_DESCRIPTION + ] + return subparsers - return None + else: + raise AssertionError ( + "multiple commands with subparsers is not supported." + ) # --- end of setup_actions (...) --- def parse_actions ( self ):