Apply the correct number of arguments to a function
This commit is contained in:
parent
5de4e9496a
commit
0540890cb9
|
@ -38,6 +38,8 @@ class Command:
|
||||||
self.needs_api_key = True
|
self.needs_api_key = True
|
||||||
self.default = "help"
|
self.default = "help"
|
||||||
|
|
||||||
|
# FIXME: add support for argument parsing
|
||||||
|
|
||||||
self.init()
|
self.init()
|
||||||
|
|
||||||
if self.needs_api_key and api_key is None:
|
if self.needs_api_key and api_key is None:
|
||||||
|
@ -48,12 +50,13 @@ class Command:
|
||||||
def exec_shortcut(self, shortcut, *args):
|
def exec_shortcut(self, shortcut, *args):
|
||||||
fn = self.find(shortcut)
|
fn = self.find(shortcut)
|
||||||
sig = inspect.signature(fn)
|
sig = inspect.signature(fn)
|
||||||
|
parity = len(sig.parameters)
|
||||||
|
|
||||||
if len(args) < len(sig.parameters):
|
if len(args) < parity:
|
||||||
name = fn.__name__[len(self.FTR_PRFX):].lower()
|
name = fn.__name__[len(self.FTR_PRFX):].lower()
|
||||||
raise NotEnoughArgs(name, len(sig.parameters) - len(args))
|
raise NotEnoughArgs(name, parity - len(args))
|
||||||
|
|
||||||
data = fn(*args)
|
data = fn(*args[:parity])
|
||||||
|
|
||||||
# FIXME: Let functions choose the output format. This will allow help
|
# FIXME: Let functions choose the output format. This will allow help
|
||||||
# functions to still return a rendering.
|
# functions to still return a rendering.
|
||||||
|
|
Loading…
Reference in New Issue