samba-tool: treat 'samba-tool help foo' as 'samba-tool foo --help'
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 11 Aug 2017 04:39:33 +0000 (16:39 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 22 Dec 2017 02:30:12 +0000 (03:30 +0100)
Vaguely keeping up with the modern style.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/__init__.py

index ad8143de856f074bc45fc50aefa4b7e53fba99a6..05ecc432ea6beda2cf8c86658ee50c2a511e19a2 100644 (file)
@@ -202,6 +202,19 @@ class SuperCommand(Command):
             return self.subcommands[subcommand]._run(
                 "%s %s" % (myname, subcommand), *args)
 
+        if subcommand == 'help':
+            # pass the request down
+            if len(args) > 0:
+                sub = self.subcommands.get(args[0])
+                if isinstance(sub, SuperCommand):
+                    return sub._run("%s %s" % (myname, args[0]), 'help',
+                                    *args[1:])
+                elif sub is not None:
+                    return sub._run("%s %s" % (myname, args[0]), '--help',
+                                    *args[1:])
+
+            subcommand = '--help'
+
         epilog = "\nAvailable subcommands:\n"
         subcmds = self.subcommands.keys()
         subcmds.sort()