samba-tool: simplify and clarify SuperCommand._run() a little
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 7 Sep 2022 03:41:17 +0000 (15:41 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 16 Sep 2022 05:46:35 +0000 (05:46 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/__init__.py

index 874f553e910e3a3438441612031ae4e12d02b7d9..4cfd65bba36be48d8ed15f231fddf211603c2e3e 100644 (file)
@@ -279,8 +279,8 @@ class SuperCommand(Command):
 
     def _run(self, *argv):
         epilog = "\nAvailable subcommands:\n"
-        subcmds = list(self.subcommands.keys())
-        subcmds.sort()
+
+        subcmds = sorted(self.subcommands.keys())
         max_length = max([len(c) for c in subcmds])
         for cmd_name in subcmds:
             cmd = self.subcommands[cmd_name]
@@ -295,6 +295,9 @@ class SuperCommand(Command):
         parser, optiongroups = self._create_parser(self.command_name, epilog=epilog)
         opts, args = parser.parse_args(list(argv))
 
+        # note: if argv had --help, parser.parse_args() will have
+        # already done the .print_help() and attempted to exit with
+        # return code 0, so we won't get here.
         parser.print_help()
         return -1