Patch from Thomas Gerigk to add a 'help' command
authorAaron Bentley <aaron.bentley@utoronto.ca>
Sat, 1 Apr 2006 18:28:07 +0000 (13:28 -0500)
committerAaron Bentley <aaron.bentley@utoronto.ca>
Sat, 1 Apr 2006 18:28:07 +0000 (13:28 -0500)
AUTHORS
be
becommands/help.py [new file with mode: 0644]

diff --git a/AUTHORS b/AUTHORS
index 24ccd793d34e38bdd58f683d72fc61a2f44d3e7e..4e9413f9e0c3279ad0855547df86f9b4529b19a1 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,3 +1,4 @@
 Bugs Everywhere was written by:
 Aaron Bentley
 Oleg Romanyshyn
+Thomas Gerigk
diff --git a/be b/be
index cfcfeeda4abef898ae2e0f21462dd8b280e8a0e2..f4225bd46ef08f187be6ebb864c755b1e01f46f8 100755 (executable)
--- a/be
+++ b/be
@@ -47,7 +47,7 @@ Unimplemented becommands
 
 
 
-if len(sys.argv) == 1 or sys.argv[1] in ('help', '--help', '-h'):
+if len(sys.argv) == 1 or sys.argv[1] in ('--help', '-h'):
     cmdlist = []
     print """Bugs Everywhere - Distributed bug tracking
     
diff --git a/becommands/help.py b/becommands/help.py
new file mode 100644 (file)
index 0000000..fc89207
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright (C) 2006 Thomas Gerigk
+# <tgerigk@gmx.de>
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not, write to the Free Software
+#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+"""Print help for given subcommand"""
+from libbe import bugdir, cmdutil, names, utility
+def execute(args):
+    """
+    Print help of specified command.
+    """
+    options, args = get_parser().parse_args(args)
+    if len(args) > 1:
+        raise cmdutil.UserError("Too many arguments.")
+    if len(args) == 0:
+        for name, module in cmdutil.iter_commands():
+            print "be %s\n     %s" % (name, module.__doc__)
+    else:
+        print cmdutil.help(args[0])
+    return
+
+
+def get_parser():
+    parser = cmdutil.CmdOptionParser("be help [COMMAND]")
+    return parser
+
+longhelp="""
+Print help for specified command or list of all commands.
+"""
+
+def help():
+    return get_parser().help_str() + longhelp