DevConsole/Purk: Support for auto-join channels on connect, new button to connect to #olpc-help

This commit is contained in:
Eduardo Silva
2007-08-21 17:31:56 -04:00
parent 9eb9d79cee
commit 104b158a80
5 changed files with 40 additions and 16 deletions
+8 -1
View File
@@ -49,7 +49,8 @@ class Core(object):
self.trigger = Trigger()
self.events = self.trigger.events
self.manager = widgets.UrkUITabs(self)
self.channels = []
mods = self.trigger.get_modules()
for m in mods:
m.core = self
@@ -79,6 +80,7 @@ class Client(object):
def __init__(self):
self.core = Core()
self.widget = self.core.manager.box
def run_command(self, command):
self.core.run_command(command)
@@ -92,3 +94,8 @@ class Client(object):
def show(self):
self.widget.show_all()
def add_channel(self, channel):
self.core.channels.append(channel)
def clear_channels(self):
self.core.channels = []
+1 -7
View File
@@ -192,17 +192,11 @@ def run(text, window, network):
c_data.args = split
event_name = "Command" + c_data.name.capitalize()
#print "searching: " + event_name
#for s in all_events:
# print "match: " + s
# if s == event_name:
# print "we got it!"
if event_name in all_events:
result = trigger(event_name, c_data)
if result:
print "* /%s: %s" % (c_data.name, result[0])
c_data.window.write("* /%s: %s" % (c_data.name, result[0]))
else:
trigger("Command", c_data)
+7 -2
View File
@@ -54,6 +54,7 @@ class Network(object):
def __init__(self, core, server="irc.default.org", port=6667, nicks=[],
username="", fullname="", name=None, **kwargs):
self.core = core
self.manager = core.manager
self.server = server
self.port = port
@@ -131,7 +132,7 @@ class Network(object):
self.disconnect(error=error[1])
#we should immediately retry if we failed to open the socket and there are hosts left
if self.status == DISCONNECTED and not self.failedlasthost:
windows.get_default(self).write("* Retrying with next available host")
windows.get_default(self, self.core.manager).write("* Retrying with next available host")
self.connect()
else:
self.source = source = ui.Source()
@@ -143,6 +144,10 @@ class Network(object):
if source.enabled:
self.source = ui.fork(self.on_read, self.socket.recv, 8192)
# Auto join channels on connect
for channel in self.core.channels:
self.core.run_command("/join %s" % channel)
#called when we read data or failed to read data
def on_read(self, result, error):
if error:
@@ -164,7 +169,7 @@ class Network(object):
if source.enabled:
self.source = ui.fork(self.on_read, self.socket.recv, 8192)
def raw(self, msg):
self.events.trigger("OwnRaw", network=self, raw=msg)