diff --git a/vultron/cmd.py b/vultron/cmd.py index f99a6cf..ce8bb84 100644 --- a/vultron/cmd.py +++ b/vultron/cmd.py @@ -38,6 +38,8 @@ class Command: self.needs_api_key = True self.default = "help" + # FIXME: add support for argument parsing + self.init() if self.needs_api_key and api_key is None: @@ -48,12 +50,13 @@ class Command: def exec_shortcut(self, shortcut, *args): fn = self.find(shortcut) 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() - 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 # functions to still return a rendering.