mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-12-29 22:22:33 +01:00
Better error logging for when commands.wrap fails to provide the right number of arguments.
This commit is contained in:
parent
fce82cfd56
commit
e53e237818
@ -34,6 +34,7 @@ Includes wrappers for commands.
|
|||||||
import time
|
import time
|
||||||
import types
|
import types
|
||||||
import getopt
|
import getopt
|
||||||
|
import inspect
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import supybot.log as log
|
import supybot.log as log
|
||||||
@ -870,7 +871,14 @@ def wrap(f, specList=[], **kw):
|
|||||||
def newf(self, irc, msg, args, **kwargs):
|
def newf(self, irc, msg, args, **kwargs):
|
||||||
state = spec(irc, msg, args, stateAttrs={'cb': self, 'log': self.log})
|
state = spec(irc, msg, args, stateAttrs={'cb': self, 'log': self.log})
|
||||||
self.log.debug('State before call: %s' % state)
|
self.log.debug('State before call: %s' % state)
|
||||||
|
try:
|
||||||
f(self, irc, msg, args, *state.args, **state.kwargs)
|
f(self, irc, msg, args, *state.args, **state.kwargs)
|
||||||
|
except TypeError:
|
||||||
|
self.log.error('Spec: %s', specList)
|
||||||
|
self.log.error('Received args: %s', args)
|
||||||
|
funcArgs = inspect.getargs(f.func_code)[0][len(self.commandArgs):]
|
||||||
|
self.log.error('Extra args: %s', funcArgs)
|
||||||
|
raise
|
||||||
return utils.gen.changeFunctionName(newf, f.func_name, f.__doc__)
|
return utils.gen.changeFunctionName(newf, f.func_name, f.__doc__)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user