[commands] Add Command.clean_params to have nicer params.
These are params without the self/context parameters. Useful for showing signature information in the help command without being bogged down by knowing if the self/context parameters are there. Hence it makes it easier to iterate knowing that you shouldn't care about those two parameters.
This commit is contained in:
parent
a706c47f34
commit
1e941925c2
@ -209,6 +209,24 @@ class Command:
|
|||||||
except Exception:
|
except Exception:
|
||||||
raise BadArgument('Converting to "{0.__name__}" failed.'.format(converter))
|
raise BadArgument('Converting to "{0.__name__}" failed.'.format(converter))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def clean_params(self):
|
||||||
|
"""Retrieves the parameter OrderedDict without the context or self parameters.
|
||||||
|
|
||||||
|
Useful for inspecting signature.
|
||||||
|
"""
|
||||||
|
result = self.params.copy()
|
||||||
|
if self.instance is not None:
|
||||||
|
# first parameter is self
|
||||||
|
result.popitem(last=False)
|
||||||
|
|
||||||
|
if self.pass_context:
|
||||||
|
# first/second parameter is context
|
||||||
|
result.popitem(last=False)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
def _parse_arguments(self, ctx):
|
def _parse_arguments(self, ctx):
|
||||||
try:
|
try:
|
||||||
ctx.args = [] if self.instance is None else [self.instance]
|
ctx.args = [] if self.instance is None else [self.instance]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user