mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-10-04 18:38:39 +02:00
Make irc.error do nothing is no string is given as argument.
Fixes c1d3bad64f
, which crashed with:
```
ERROR 2020-01-18T01:34:07 Uncaught exception in NickAuth._callCommand:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/supybot/callbacks.py", line 1337, in _callCommand
irc.errorNoCapability(cap)
File "/usr/local/lib/python3.7/dist-packages/supybot/callbacks.py", line 544, in errorNoCapability
raise Error()
supybot.callbacks.Error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/supybot/log.py", line 368, in m
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/supybot/callbacks.py", line 1359, in _callCommand
irc.error(str(e))
File "/usr/local/lib/python3.7/dist-packages/supybot/callbacks.py", line 1065, in error
raise ArgumentError
supybot.callbacks.ArgumentError
```
This commit is contained in:
parent
895881e66e
commit
32d8d141ad
@ -615,12 +615,10 @@ class ReplyIrcProxy(RichReplyMethods):
|
|||||||
|
|
||||||
def error(self, s, msg=None, **kwargs):
|
def error(self, s, msg=None, **kwargs):
|
||||||
if 'Raise' in kwargs and kwargs['Raise']:
|
if 'Raise' in kwargs and kwargs['Raise']:
|
||||||
if s:
|
raise Error()
|
||||||
raise Error(s)
|
|
||||||
else:
|
|
||||||
raise ArgumentError
|
|
||||||
if msg is None:
|
if msg is None:
|
||||||
msg = self.msg
|
msg = self.msg
|
||||||
|
if s:
|
||||||
m = _makeErrorReply(self, msg, s, **kwargs)
|
m = _makeErrorReply(self, msg, s, **kwargs)
|
||||||
self.irc.queueMsg(m)
|
self.irc.queueMsg(m)
|
||||||
return m
|
return m
|
||||||
@ -1050,19 +1048,13 @@ class NestedCommandsIrcProxy(ReplyIrcProxy):
|
|||||||
def error(self, s='', Raise=False, **kwargs):
|
def error(self, s='', Raise=False, **kwargs):
|
||||||
self.repliedTo = True
|
self.repliedTo = True
|
||||||
if Raise:
|
if Raise:
|
||||||
if s:
|
|
||||||
raise Error(s)
|
raise Error(s)
|
||||||
else:
|
|
||||||
raise ArgumentError
|
|
||||||
if s:
|
|
||||||
if not isinstance(self.irc, irclib.Irc):
|
if not isinstance(self.irc, irclib.Irc):
|
||||||
return self.irc.error(s, **kwargs)
|
return self.irc.error(s, **kwargs)
|
||||||
else:
|
elif s:
|
||||||
m = _makeErrorReply(self, self.msg, s, **kwargs)
|
m = _makeErrorReply(self, self.msg, s, **kwargs)
|
||||||
self.irc.queueMsg(m)
|
self.irc.queueMsg(m)
|
||||||
return m
|
return m
|
||||||
else:
|
|
||||||
raise ArgumentError
|
|
||||||
|
|
||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.irc, attr)
|
return getattr(self.irc, attr)
|
||||||
|
@ -404,8 +404,8 @@ class PrivmsgTestCase(ChannelPluginTestCase):
|
|||||||
finally:
|
finally:
|
||||||
conf.supybot.reply.error.inPrivate.setValue(original)
|
conf.supybot.reply.error.inPrivate.setValue(original)
|
||||||
|
|
||||||
def testErrorNoArgumentIsArgumentError(self):
|
def testErrorNoArgumentIsSilent(self):
|
||||||
self.assertHelp('eval irc.error()')
|
self.assertResponse('eval irc.error()', 'None')
|
||||||
|
|
||||||
def testErrorWithNotice(self):
|
def testErrorWithNotice(self):
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user