From 8ff7e8c5b70d918017b9f48ef819f33fa96a88d6 Mon Sep 17 00:00:00 2001 From: Aaron Bentley Date: Sat, 1 Apr 2006 13:28:07 -0500 Subject: [PATCH] Patch from Thomas Gerigk to add a 'help' command --- AUTHORS | 1 + be | 2 +- becommands/help.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 becommands/help.py diff --git a/AUTHORS b/AUTHORS index 24ccd79..4e9413f 100644 --- 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 cfcfeed..f4225bd 100755 --- 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 index 0000000..fc89207 --- /dev/null +++ b/becommands/help.py @@ -0,0 +1,43 @@ +# Copyright (C) 2006 Thomas Gerigk +# +# +# 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 -- 2.26.2