else:
try:
try:
- cmd = {
- "list": becommands.list.execute,
- "show": becommands.show.execute,
- "set-root": becommands.set_root.execute,
- "new": becommands.new.execute,
- "close": becommands.close.execute,
- "open": becommands.open.execute,
- "severity": becommands.severity.execute,
- }[sys.argv[1]]
+ execute(sys.argv[1], sys.argv[2:])
except KeyError, e:
raise UserError("Unknown command \"%s\"" % e.args[0])
cmd(sys.argv[2:])
bug.summary)
def iter_commands():
- return plugin.iter_plugins("becommands")
+ for name, module in plugin.iter_plugins("becommands"):
+ yield name.replace("_", "-"), module
+
+def get_command(command_name):
+ cmd = plugin.get_plugin("becommands", command_name.replace("-", "_"))
+ if cmd is None:
+ raise UserError("Unknown command %s" % command_name)
+ return cmd
def execute(cmd, args):
- return plugin.get_plugin("becommands", cmd).execute(args)
+ return get_command(cmd).execute(args)
def help(cmd, args):
- return plugin.get_plugin("becommands", cmd).help()
+ return get_command(cmd).help()