diff options
| author | 2018-10-28 11:50:56 +0000 | |
|---|---|---|
| committer | 2018-10-28 11:50:56 +0000 | |
| commit | ec72787f86b2b7749b4c03d5c02d5abd05ddd77c (patch) | |
| tree | f9d98e10e133717b9d81213199fbd97d8b22e0db /modules | |
| parent | Support multiple items for docstring kwargs in utils.parse_docstring (diff) | |
| signature | ||
Support multiple "usage" values in commands.py
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/commands.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/modules/commands.py b/modules/commands.py index ff85586a..d2009ce2 100644 --- a/modules/commands.py +++ b/modules/commands.py @@ -154,10 +154,10 @@ class Module(ModuleManager.BaseModule): min_args = hook.kwargs.get("min_args") if min_args and len(args_split) < min_args: - usage = self._get_usage(hook) + usage = self._get_usage(hook, command) if usage: - stderr.write("Not enough arguments, usage: %s %s" % ( - command, usage)).send() + stderr.write("Not enough arguments, usage: %s" % + usage).send() else: stderr.write("Not enough arguments (minimum: %d)" % min_args).send() @@ -203,8 +203,15 @@ class Module(ModuleManager.BaseModule): def _get_help(self, hook): return hook.get_kwarg("help", None) or hook.docstring.description - def _get_usage(self, hook): - return hook.get_kwarg("usage", None) + def _get_usage(self, hook, command): + usage = hook.get_kwarg("usage", None) + is not usage: + usages = hook.docstring.var_items.get("usage", None) + if usages: + return " | ".join( + "%s %s" % (command, usage) for usage in usages) + return usage + def _get_prefix(self, hook): return hook.get_kwarg("prefix", None) def _get_alias_of(self, hook): @@ -255,12 +262,12 @@ class Module(ModuleManager.BaseModule): command = event["args_split"][0].lower() if command in self.events.on("received").on( "command").get_children(): + command_str = "%s%s" % (command_prefix, command) hooks = self.events.on("received.command").on(command).get_hooks() - usage = self._get_usage(hooks[0]) + usage = self._get_usage(hooks[0], command_str) if usage: - event["stdout"].write("Usage: %s%s %s" % (command_prefix, - command, usage)) + event["stdout"].write("Usage: %s" % usage)) else: event["stderr"].write("No usage help available for %s" % command) else: |
