From 86c7743fc9acb502069ada90ab61f20409ac22b6 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Tue, 31 Aug 2004 17:23:33 +0000 Subject: [PATCH] Fixed some == tests on nicks (became ircutils.strEqual). --- plugins/ChannelStats.py | 2 +- plugins/Enforcer.py | 14 +++---- plugins/FunDB.py | 2 +- plugins/Parter.py | 2 +- plugins/QuoteGrabs.py | 4 +- plugins/Relay.py | 2 +- plugins/Services.py | 22 ++++++---- plugins/URL.py | 2 +- test/test_ChannelStats.py | 85 ++++++++++++++++++--------------------- test/test_FunDB.py | 2 + 10 files changed, 70 insertions(+), 67 deletions(-) diff --git a/plugins/ChannelStats.py b/plugins/ChannelStats.py index f85797c44..b65f481d5 100644 --- a/plugins/ChannelStats.py +++ b/plugins/ChannelStats.py @@ -271,7 +271,7 @@ class ChannelStats(callbacks.Privmsg): """ channel = privmsgs.getChannel(msg, args) name = privmsgs.getArgs(args, required=0, optional=1) - if name == irc.nick: + if ircutils.strEqual(name, irc.nick): id = 0 elif not name: try: diff --git a/plugins/Enforcer.py b/plugins/Enforcer.py index 4a93ff693..d9b1ab4d4 100644 --- a/plugins/Enforcer.py +++ b/plugins/Enforcer.py @@ -171,7 +171,7 @@ class Enforcer(callbacks.Privmsg): self.unbans[banmask] = eventId def doJoin(self, irc, msg): - if msg.nick == irc.nick: + if ircutils.strEqual(msg.nick, irc.nick): return channel = msg.args[0] c = ircdb.channels.getChannel(channel) @@ -216,7 +216,7 @@ class Enforcer(callbacks.Privmsg): if not ircutils.isUserHostmask(hostmask): return True # It's a server. nick = ircutils.nickFromHostmask(hostmask) - if nick == irc.nick: + if ircutils.strEqual(nick, irc.nick): return True # It's me. chanserv = self.registryValue('ChanServ') if ircutils.strEqual(nick, chanserv): @@ -248,7 +248,7 @@ class Enforcer(callbacks.Privmsg): deop = False for nick in kicked: hostmask = irc.state.nickToHostmask(nick) - if nick == irc.nick: + if ircutils.strEqual(nick, irc.nick): # Must be a sendMsg so he joins the channel before MODEing. irc.sendMsg(ircmsgs.join(channel)) if self._isProtected(channel, hostmask): @@ -265,19 +265,19 @@ class Enforcer(callbacks.Privmsg): if not self.registryValue('takeRevenge.onOps', channel): return for (mode, value) in ircutils.separateModes(msg.args[1:]): - if value == msg.nick: + if ircutils.strEqual(value, msg.nick): continue - elif mode == '+o' and value != irc.nick: + elif mode == '+o': hostmask = irc.state.nickToHostmask(value) if ircdb.checkCapability(channel, ircdb.makeAntiCapability('op')): irc.sendMsg(ircmsgs.deop(channel, value)) - elif mode == '+h' and value != irc.nick: + elif mode == '+h': hostmask = irc.state.nickToHostmask(value) if ircdb.checkCapability(channel, ircdb.makeAntiCapability('halfop')): irc.sendMsg(ircmsgs.dehalfop(channel, value)) - elif mode == '+v' and value != irc.nick: + elif mode == '+v': hostmask = irc.state.nickToHostmask(value) if ircdb.checkCapability(channel, ircdb.makeAntiCapability('voice')): diff --git a/plugins/FunDB.py b/plugins/FunDB.py index 9334e372d..c5f4c9dd8 100755 --- a/plugins/FunDB.py +++ b/plugins/FunDB.py @@ -346,7 +346,7 @@ class FunDB(callbacks.Privmsg): nick = nick.rstrip('.') if not nick: raise callbacks.ArgumentError - if nick == irc.nick: + if ircutils.strEqual(nick, irc.nick): nick = msg.nick try: (nick, reason) = itertools.imap(' '.join, diff --git a/plugins/Parter.py b/plugins/Parter.py index 5f724c796..c035505ae 100644 --- a/plugins/Parter.py +++ b/plugins/Parter.py @@ -72,7 +72,7 @@ conf.registerGlobalValue(conf.supybot.plugins.Parter, 'channels', class Parter(callbacks.Privmsg): def doJoin(self, irc, msg): - if irc.nick == msg.nick: + if ircutils.strEqual(irc.nick, msg.nick): channels = msg.args[0].split(',') autoParts = self.registryValue('channels') for channel in channels: diff --git a/plugins/QuoteGrabs.py b/plugins/QuoteGrabs.py index ae5f8a956..b36f05434 100644 --- a/plugins/QuoteGrabs.py +++ b/plugins/QuoteGrabs.py @@ -164,11 +164,11 @@ class QuoteGrabs(plugins.ChannelDBHandler, callbacks.Privmsg): """ channel = privmsgs.getChannel(msg, args) nick = privmsgs.getArgs(args) - if nick == msg.nick: + if ircutils.strEqual(nick, msg.nick): irc.error('You can\'t quote grab yourself.') return for m in reversed(irc.state.history): - if m.command == 'PRIVMSG' and ircutils.nickEqual(m.nick, nick): + if m.command == 'PRIVMSG' and ircutils.strEqual(m.nick, nick): self._grab(irc, m, msg.prefix) irc.replySuccess() return diff --git a/plugins/Relay.py b/plugins/Relay.py index ad3b91a38..c7af90851 100644 --- a/plugins/Relay.py +++ b/plugins/Relay.py @@ -565,7 +565,7 @@ class Relay(callbacks.Privmsg): def doTopic(self, irc, msg): irc = self._getRealIrc(irc) - if msg.nick == irc.nick: + if ircutils.strEqual(msg.nick, irc.nick): return (channel, newTopic) = msg.args if channel not in self.registryValue('channels'): diff --git a/plugins/Services.py b/plugins/Services.py index 6cc4c18f4..e2f11b444 100644 --- a/plugins/Services.py +++ b/plugins/Services.py @@ -172,7 +172,8 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): s = 'Tried to identify without a NickServ or password set.' self.log.warning(s) return - assert irc.nick == nick, 'Identifying with not normal nick.' + assert ircutils.strEqual(irc.nick, nick), \ + 'Identifying with not normal nick.' self.log.info('Sending identify (current nick: %s)' % irc.nick) identify = 'IDENTIFY %s' % password # It's important that this next statement is irc.sendMsg, not @@ -238,7 +239,7 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): self.log.warning('Cannot identify without a nick being set. ' 'Set supybot.plugins.Services.nick.') return - if irc.nick == nick: + if ircutils.strEqual(irc.nick, nick): self._doIdentify(irc) else: self._doGhost(irc) @@ -260,7 +261,8 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): def doNick(self, irc, msg): nick = self._getNick() - if msg.args[0] == irc.nick and irc.nick == nick: + if ircutils.strEqual(msg.args[0], irc.nick) and \ + ircutils.strEqual(irc.nick, nick): self._doIdentify(irc) elif ircutils.strEqual(msg.nick, nick): irc.sendMsg(ircmsgs.nick(nick)) @@ -303,6 +305,8 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): elif 'access level' in s and 'is required' in s: # XXX We should notify the user that this happened. self.log.debug('Got "Access level required" from ChanServ.') + elif 'inviting' in s: + self.log.debug('Got "Inviting to channel" from ChanServ.') else: self.log.warning('Got unexpected notice from ChanServ: %r.', msg) @@ -379,10 +383,10 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): def doMode(self, irc, msg): chanserv = self.registryValue('ChanServ') - if msg.nick == chanserv: + if ircutils.strEqual(msg.nick, chanserv): channel = msg.args[0] if len(msg.args) == 3: - if msg.args[2] == irc.nick: + if ircutils.strEqual(msg.args[2], irc.nick): mode = msg.args[1] info = self.log.info if mode == '+o': @@ -400,7 +404,9 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): def _chanservCommand(self, irc, channel, command): chanserv = self.registryValue('ChanServ') if chanserv: - irc.sendMsg(ircmsgs.privmsg(chanserv, '%s %s' % (command, channel))) + msg = ircmsgs.privmsg(chanserv, + ' '.join([command, channel, irc.nick])) + irc.sendMsg(msg) return True else: return False @@ -490,7 +496,7 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): irc.error('I\'m not in %s.' % channel) def doInvite(self, irc, msg): - if msg.nick == self.registryValue('ChanServ'): + if ircutils.strEqual(msg.nick, self.registryValue('ChanServ')): channel = msg.args[1] self.log.info('Joining %s, invited by ChanServ.' % channel) irc.queueMsg(ircmsgs.join(channel)) @@ -521,7 +527,7 @@ class Services(privmsgs.CapabilityCheckingPrivmsg): nick = privmsgs.getArgs(args, required=0, optional=1) if not nick: nick = self._getNick() - if nick == irc.nick: + if ircutils.strEqual(nick, irc.nick): irc.error('I cowardly refuse to ghost myself.') else: self._doGhost(irc, nick=nick) diff --git a/plugins/URL.py b/plugins/URL.py index 73777402c..51e885693 100644 --- a/plugins/URL.py +++ b/plugins/URL.py @@ -314,7 +314,7 @@ class URL(callbacks.PrivmsgCommandAndRegexp): nolimit = True elif option == '--from': def from_(url, nick, arg=arg): - return nick.lower() == arg.lower() + return ircutils.strEqual(nick, arg) predicates.append(from_) elif option == '--with': def with(url, nick, arg=arg): diff --git a/test/test_ChannelStats.py b/test/test_ChannelStats.py index 9342d6cfb..abfdb43a8 100644 --- a/test/test_ChannelStats.py +++ b/test/test_ChannelStats.py @@ -33,55 +33,50 @@ from testsupport import * import supybot.ircdb as ircdb -try: - import sqlite -except ImportError: - sqlite = None +class ChannelStatsTestCase(ChannelPluginTestCase): + plugins = ('ChannelStats', 'User') + def setUp(self): + ChannelPluginTestCase.setUp(self) + self.prefix = 'foo!bar@baz' + self.nick = 'foo' + self.irc.feedMsg(ircmsgs.privmsg(self.irc.nick, + 'register foo bar', + prefix=self.prefix)) + _ = self.irc.takeMsg() + chanop = ircdb.makeChannelCapability(self.channel, 'op') + ircdb.users.getUser(self.nick).addCapability(chanop) -if sqlite is not None: - class ChannelStatsTestCase(ChannelPluginTestCase): - plugins = ('ChannelStats', 'User') - def setUp(self): - ChannelPluginTestCase.setUp(self) - self.prefix = 'foo!bar@baz' - self.nick = 'foo' - self.irc.feedMsg(ircmsgs.privmsg(self.irc.nick, - 'register foo bar', - prefix=self.prefix)) - _ = self.irc.takeMsg() - chanop = ircdb.makeChannelCapability(self.channel, 'op') - ircdb.users.getUser(self.nick).addCapability(chanop) + def test(self): + self.assertNotError('channelstats') + self.assertNotError('channelstats') + self.assertNotError('channelstats') - def test(self): - self.assertNotError('channelstats') - self.assertNotError('channelstats') - self.assertNotError('channelstats') + def testStats(self): + self.assertError('channelstats stats %s' % self.nick) + self.assertNotError('channelstats stats %s' % self.nick) + self.assertNotError('channelstats stats %s' % self.nick.upper()) + self.assertNotError('channelstats stats') + self.assertRegexp('channelstats stats', self.nick) - def testStats(self): - self.assertError('channelstats stats %s' % self.nick) - self.assertNotError('channelstats stats %s' % self.nick) - self.assertNotError('channelstats stats %s' % self.nick.upper()) - self.assertNotError('channelstats stats') - self.assertRegexp('channelstats stats', self.nick) + def testSelfStats(self): + self.assertError('channelstats stats %s' % self.irc.nick) + self.assertNotError('channelstats stats %s' % self.irc.nick) + self.assertNotError('channelstats stats %s' % self.irc.nick) + self.assertNotError('channelstats stats %s' % self.irc.nick.upper()) + id = ircdb.users.getUserId(self.prefix) + u = ircdb.users.getUser(id) + u.addCapability(ircdb.makeChannelCapability(self.channel, 'op')) + ircdb.users.setUser(id, u) + try: + conf.supybot.plugins.ChannelStats.selfStats.setValue(False) + m1 = self.getMsg('channelstats stats %s' % self.irc.nick) + m2 = self.getMsg('channelstats stats %s' % self.irc.nick) + self.assertEqual(m1.args[1], m2.args[1]) + finally: + conf.supybot.plugins.ChannelStats.selfStats.setValue(True) - def testSelfStats(self): - self.assertError('channelstats stats %s' % self.irc.nick) - self.assertNotError('channelstats stats %s' % self.irc.nick) - self.assertNotError('channelstats stats %s' % self.irc.nick) - id = ircdb.users.getUserId(self.prefix) - u = ircdb.users.getUser(id) - u.addCapability(ircdb.makeChannelCapability(self.channel, 'op')) - ircdb.users.setUser(id, u) - try: - conf.supybot.plugins.ChannelStats.selfStats.setValue(False) - m1 = self.getMsg('channelstats stats %s' % self.irc.nick) - m2 = self.getMsg('channelstats stats %s' % self.irc.nick) - self.assertEqual(m1.args[1], m2.args[1]) - finally: - conf.supybot.plugins.ChannelStats.selfStats.setValue(True) - - def testNoKeyErrorStats(self): - self.assertNotRegexp('stats sweede', 'KeyError') + def testNoKeyErrorStats(self): + self.assertNotRegexp('stats sweede', 'KeyError') # vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78: diff --git a/test/test_FunDB.py b/test/test_FunDB.py index 38bfcec06..39700b11e 100644 --- a/test/test_FunDB.py +++ b/test/test_FunDB.py @@ -68,6 +68,8 @@ class TestFunDB(ChannelPluginTestCase, PluginDocumentation): self.assertAction('lart 2 jemfinch for being dumb', 'shoots jemfinch for being dumb (#2)') self.assertNotRegexp('lart %s' % self.irc.nick, self.irc.nick) + self.assertNotRegexp('lart %s' % self.irc.nick.upper(), + self.irc.nick.upper()) self.assertNotError('remove lart 1') self.assertRegexp('fundb stats lart', 'currently 1 lart') self.assertAction('lart jemfinch', 'shoots jemfinch (#2)')