s4-samba-tool: support help, and show description of commands
authorAndrew Tridgell <tridge@samba.org>
Sat, 27 Nov 2010 23:52:09 +0000 (10:52 +1100)
committerAndrew Tridgell <tridge@samba.org>
Sun, 28 Nov 2010 00:56:46 +0000 (01:56 +0100)
when you don't specify a subcommand, show the description of the
subcommands in the list of available subcommands. Also show the list
of subcommands when you use 'help', '--help' or '-h' as a subcommand

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Sun Nov 28 01:56:46 CET 2010 on sn-devel-104

source4/scripting/python/samba/netcmd/__init__.py

index dafdd77c87f98b6d0af516535bcae61018ed127a..af317ab7e047ebc8e575b899a8f1f0ec093cdf38 100644 (file)
@@ -112,14 +112,14 @@ class SuperCommand(Command):
     subcommands = {}
 
     def _run(self, myname, subcommand=None, *args):
-        if subcommand is None:
-            print "Available subcommands:"
-            for subcommand in self.subcommands:
-                print "\t%s" % subcommand
+        if subcommand in self.subcommands:
+            return self.subcommands[subcommand]._run(subcommand, *args)
+        print "Available subcommands:"
+        for cmd in self.subcommands:
+            print "\t%-20s - %s" % (cmd, self.subcommands[cmd].description)
+        if subcommand in [None, 'help', '-h', '--help' ]:
             return 0
-        if not subcommand in self.subcommands:
-            raise CommandError("No such subcommand '%s'" % subcommand)
-        return self.subcommands[subcommand]._run(subcommand, *args)
+        raise CommandError("No such subcommand '%s'" % subcommand)
 
     def usage(self, myname, subcommand=None, *args):
         if subcommand is None or not subcommand in self.subcommands: