Merge lp:~ricardokirkner/lalita/nick-changed into lp:lalita

Proposed by Ricardo Kirkner
Status: Merged
Approved by: Facundo Batista
Approved revision: 156
Merged at revision: 155
Proposed branch: lp:~ricardokirkner/lalita/nick-changed
Merge into: lp:lalita
Diff against target: 103 lines (+38/-2)
5 files modified
lalita/core/dispatcher.py (+4/-2)
lalita/core/events.py (+1/-0)
lalita/core/tests/test_dispatcher.py (+22/-0)
lalita/core/tests/test_events.py (+6/-0)
lalita/ircbot.py (+5/-0)
To merge this branch: bzr merge lp:~ricardokirkner/lalita/nick-changed
Reviewer Review Type Date Requested Status
Facundo Batista Approve
Review via email: mp+28122@code.launchpad.net

Description of the change

This branch adds the necessary support for plugins to be able to handle when a user changes his nick.

To post a comment you must log in.
156. By Ricardo Kirkner

added tests for making sure push handles all events

Revision history for this message
Facundo Batista (facundo) wrote :

Looks ok!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lalita/core/dispatcher.py'
2--- lalita/core/dispatcher.py 2010-06-14 23:42:28 +0000
3+++ lalita/core/dispatcher.py 2010-06-22 00:14:22 +0000
4@@ -51,11 +51,12 @@
5 events.TALKED_TO_ME: 1,
6 events.COMMAND: 1,
7 events.PUBLIC_MESSAGE: 1,
8+ events.ACTION: 1,
9 events.JOIN: 1,
10 events.LEFT: 1,
11 events.QUIT: None,
12 events.KICK: 1,
13- events.ACTION: 1,
14+ events.RENAME: None,
15 }
16
17 # the position of the user parameter in each event
18@@ -68,11 +69,12 @@
19 events.TALKED_TO_ME: 0,
20 events.COMMAND: 0,
21 events.PUBLIC_MESSAGE: 0,
22+ events.ACTION: 0,
23 events.JOIN: 0,
24 events.LEFT: 0,
25 events.QUIT: 0,
26 events.KICK: 0,
27- events.ACTION: 0,
28+ events.RENAME: 0,
29 }
30
31
32
33=== modified file 'lalita/core/events.py'
34--- lalita/core/events.py 2009-10-20 03:35:45 +0000
35+++ lalita/core/events.py 2010-06-22 00:14:22 +0000
36@@ -15,3 +15,4 @@
37 LEFT = 10
38 QUIT = 11
39 KICK = 12
40+RENAME = 13
41
42=== modified file 'lalita/core/tests/test_dispatcher.py'
43--- lalita/core/tests/test_dispatcher.py 2010-06-12 03:29:09 +0000
44+++ lalita/core/tests/test_dispatcher.py 2010-06-22 00:14:22 +0000
45@@ -204,6 +204,28 @@
46 self.disp.push(events.CONNECTION_MADE)
47 return self.deferred
48
49+ def test_events_supported(self):
50+ def test(*args):
51+ self.deferred.callback(True)
52+ self.helper.test = test
53+
54+ supported_events = [getattr(events, name) for name in dir(events) \
55+ if name == name.upper()]
56+ for event in supported_events:
57+ self.disp.register(event, self.helper.f)
58+ if (event in dispatcher.USER_POS and
59+ dispatcher.USER_POS[event] is not None):
60+ self.disp.push(event, 'user', 'channel', 'msg')
61+ elif (event in dispatcher.CHANNEL_POS and
62+ dispatcher.CHANNEL_POS[event] is not None):
63+ if event == events.JOINED:
64+ self.disp.push(event, 'channel', 'user', 'msg')
65+ else:
66+ self.disp.push(event, 'user', 'channel', 'msg')
67+ else:
68+ self.disp.push(event)
69+ return self.deferred
70+
71
72 class TestEvents(EasyDeferredTests):
73 '''Test all the events.'''
74
75=== modified file 'lalita/core/tests/test_events.py'
76--- lalita/core/tests/test_events.py 2010-06-07 02:30:54 +0000
77+++ lalita/core/tests/test_events.py 2010-06-22 00:14:22 +0000
78@@ -203,3 +203,9 @@
79 bot.userKicked("user", "chnl", "op", "bad behaviour")
80 self.check_pushed(events.KICK, "user", "chnl", "op", "bad behaviour")
81 return self.deferred
82+
83+ def test_userRenamed(self):
84+ '''Calling bot.userRenamed'''
85+ bot.userRenamed('oldname', 'newname')
86+ self.check_pushed(events.RENAME, 'oldname', 'newname')
87+ return self.deferred
88
89=== modified file 'lalita/ircbot.py'
90--- lalita/ircbot.py 2010-06-14 00:36:06 +0000
91+++ lalita/ircbot.py 2010-06-22 00:14:22 +0000
92@@ -207,6 +207,11 @@
93 kickee, channel, kicker, message)
94 self.dispatcher.push(events.KICK, kickee, channel, kicker, message)
95
96+ def userRenamed(self, oldname, newname):
97+ """Called when I see another user to change their nick."""
98+ logger.debug("%s changed its nick to %s", oldname, newname)
99+ self.dispatcher.push(events.RENAME, oldname, newname)
100+
101
102 class IRCBotFactory(protocol.ReconnectingClientFactory):
103 """

Subscribers

People subscribed via source and target branches