From c90821186e8027eb1d924ce42c3567613151fef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eli=C3=A1n=20Hanisch?= Date: Thu, 5 Jul 2012 19:36:13 -0300 Subject: [PATCH] fix extbans --- Bantracker/plugin.py | 4 +++- Bantracker/test.py | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Bantracker/plugin.py b/Bantracker/plugin.py index a3dd479..5c4832c 100644 --- a/Bantracker/plugin.py +++ b/Bantracker/plugin.py @@ -268,7 +268,9 @@ class Ban(object): def guessBanType(mask): if mask[0] == '%': return 'quiet' - elif ircutils.isUserHostmask(mask) or mask.endswith('(realname)'): + elif ircutils.isUserHostmask(mask) \ + or mask[0] == '$' \ + or mask.endswith('(realname)'): if not ('*' in mask or '?' in mask or '$' in mask): # XXX hack over hack, we are supposing these are marks as normal # bans aren't usually set to exact match, while marks are. diff --git a/Bantracker/test.py b/Bantracker/test.py index 4e5f37a..2c43290 100644 --- a/Bantracker/test.py +++ b/Bantracker/test.py @@ -375,6 +375,8 @@ class BantrackerTestCase(ChannelPluginTestCase): self.feedBan('nick', mode='k') self.assertResponse('banremove 1 0', "Id 1 is a removal, only bans or quiets can be autoremoved.") + self.feedBan('$a:nick') + self.assertResponse('banremove 2 0', 'The operation succeeded.') def testBanremoveBadId(self): self.assertResponse('banremove 1 0', "I don't know any ban with that id.")