Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Ortiz <rafael@activitycentral.com>2011-05-10 20:22:42 (GMT)
committer Rafael Ortiz <rafael@activitycentral.com>2011-05-10 20:22:42 (GMT)
commitc23b8e96dbe48481b6c37c7718a5303ffa114bd8 (patch)
tree2c6f795b61b62fd9a3a14eba47be389c33257f67
parenta14c191de9237e342a307a22a238412d8078797b (diff)
Adding sugar-es channel, matching aslo release
-rw-r--r--NEWS6
-rw-r--r--TODO1
-rw-r--r--activity/activity.info4
-rw-r--r--ircactivity.py10
-rw-r--r--purk/ABOUT2
-rw-r--r--purk/core.py7
-rw-r--r--purk/irc.py49
-rw-r--r--purk/windows.py8
8 files changed, 61 insertions, 26 deletions
diff --git a/NEWS b/NEWS
index d781f9b..10bbe33 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+9
+*Adding sugar-es tab
+*Adding i18n
+*Fixing activity.info (adding bundle_id)
+
+
Version 8 (2010-11-19)
* Fixed inability to talk in restored channels (#2493)
diff --git a/TODO b/TODO
index 53bdf01..9ebff4e 100644
--- a/TODO
+++ b/TODO
@@ -4,3 +4,4 @@
* Pop up last active channel when loading from journal
* Direct the user to localized channels other than #sugar
* Multi-server support, maybe?
+* Recognize locale to add other channel #sugar-lang
diff --git a/activity/activity.info b/activity/activity.info
index ca0ae7c..2deac84 100644
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -1,6 +1,6 @@
[Activity]
name = IRC
-activity_version = 8
-service_name = org.sugarlabs.IRC
+activity_version = 9
+bundle_id = org.sugarlabs.IRC-multilingua
icon = activity-ircchat
exec = sugar-activity ircactivity.IRCActivity
diff --git a/ircactivity.py b/ircactivity.py
index f3da056..09ee389 100644
--- a/ircactivity.py
+++ b/ircactivity.py
@@ -29,6 +29,7 @@ import purk
import purk.conf
import purk.windows
+
class IRCActivity(activity.Activity):
def __init__(self, handle):
@@ -63,11 +64,14 @@ class IRCActivity(activity.Activity):
self.show_all()
def __visibility_notify_event_cb(self, window, event):
- self.is_visible = event.state != gtk.gdk.VISIBILITY_FULLY_OBSCURED
-
+ self.is_visible = event.state != gtk.gdk.VISIBILITY_FULLY_OBSCURED
+
+ #Configuracion por defecto
+
def default_config(self):
self.client.join_server('us.freenode.net')
self.client.add_channel('#sugar')
+ self.client.add_channel_other('#sugar-es')
def read_file(self, file_path):
if self.metadata['mime_type'] != 'text/plain':
@@ -83,7 +87,7 @@ class IRCActivity(activity.Activity):
self.client.join_server(data['server'])
for chan in data['channels']:
self.client.add_channel(chan)
-
+ self.client.add_channel_other(chan)
self.client.core.window.network.requested_joins = set()
for winid in data['scrollback'].keys():
if winid in data['channels']:
diff --git a/purk/ABOUT b/purk/ABOUT
index a4b7cc7..46d104c 100644
--- a/purk/ABOUT
+++ b/purk/ABOUT
@@ -1,4 +1,4 @@
-Urk is a PyGTK IRC Client written by Vincent Povirk and Marc Liddell.
+Urk [http://urk.sourceforge.net/] is a PyGTK IRC Client written by Vincent Povirk and Marc Liddell.
This current version has been modified in order to have an PyGTK
IRC Client Widget called 'PUrk'.
diff --git a/purk/core.py b/purk/core.py
index 57af19a..acc23b9 100644
--- a/purk/core.py
+++ b/purk/core.py
@@ -84,7 +84,7 @@ class Client(object):
def run_command(self, command):
self.core.run_command(command)
- def join_server(self, network_name, port=6667):
+ def join_server(self, network_name, port=8001):
command = 'server '+ network_name + ' ' + str(port)
self.run_command(command)
@@ -98,5 +98,10 @@ class Client(object):
print "** DEBUG :: Add default channel: ", channel
self.core.channels.append(channel)
+ def add_channel_other(self, channelother):
+ print "** DEBUG :: Add default channel other: ", channelother
+ self.core.channels.append(channelother)
+
+
def clear_channels(self):
self.core.channels = []
diff --git a/purk/irc.py b/purk/irc.py
index f5bc6bd..cf6a36b 100644
--- a/purk/irc.py
+++ b/purk/irc.py
@@ -11,6 +11,7 @@ CONNECTING = 1
INITIALIZING = 2
CONNECTED = 3
+
def parse_irc(msg, server):
msg = msg.split(' ')
@@ -39,9 +40,10 @@ def parse_irc(msg, server):
# note: this sucks and makes very little sense, but it matches the BNF
# as far as we've tested, which seems to be the goal
+
def default_nicks():
try:
- nicks = [conf.get('nick')] + conf.get('altnicks',[])
+ nicks = [conf.get('nick')] + conf.get('altnicks', [])
if not nicks[0]:
# We're going to generate a nick based on the user's nick name
@@ -62,9 +64,9 @@ def default_nicks():
# if it's more than 11 characters (as we need 5 for - and the
# hash).
if len(user_name_letters) == 0:
- user_name_letters = "XO"
+ user_name_letters = "XO"
if len(user_name_letters) > 11:
- user_name_letters = user_name_letters[0:11]
+ user_name_letters = user_name_letters[0:11]
# Finally, generate a nick by using those letters plus the first
# four hash bits of the user's public key.
@@ -75,10 +77,11 @@ def default_nicks():
nicks = ["purk"]
return nicks
+
class Network(object):
socket = None
- def __init__(self, core, server="irc.default.org", port=6667, nicks=[],
+ def __init__(self, core, server="irc.default.org", port=8001, nicks=[],
username="", fullname="", name=None, **kwargs):
self.core = core
self.manager = core.manager
@@ -100,10 +103,10 @@ class Network(object):
'PREFIX': '(ohv)@%+',
'CHANMODES': 'b,k,l,imnpstr',
}
- self.prefixes = {'o':'@', 'h':'%', 'v':'+', '@':'o', '%':'h', '+':'v'}
+ self.prefixes = {'o': '@', 'h': '%', 'v': '+', '@': 'o', '%': 'h', '+': 'v'}
self.status = DISCONNECTED
- self.failedhosts = [] #hosts we've tried and failed to connect to
+ self.failedhosts = [] # hosts we've tried and failed to connect to
self.channel_prefixes = '&#+$' # from rfc2812
self.on_channels = set()
@@ -121,9 +124,9 @@ class Network(object):
#import random
#random.seed()
#random.shuffle(result)
- if socket.has_ipv6: #prefer ipv6
- result = [(f, t, p, c, a) for (f, t, p, c, a) in result if f == socket.AF_INET6]+result
- elif hasattr(socket,"AF_INET6"): #ignore ipv6
+ if socket.has_ipv6: # prefer ipv6
+ result = [(f, t, p, c, a) for (f, t, p, c, a) in result if f == socket.AF_INET6] + result
+ elif hasattr(socket, "AF_INET6"): # ignore ipv6
result = [(f, t, p, c, a) for (f, t, p, c, a) in result if f != socket.AF_INET6]
self.failedlasthost = False
@@ -173,8 +176,11 @@ class Network(object):
# Auto join channels on connect
for channel in self.core.channels:
self.core.run_command("/join %s" % channel)
-
+ for channelother in self.core.channels:
+ self.core.run_command("/join %s" % channelother)
+
#called when we read data or failed to read data
+
def on_read(self, result, error):
if error:
self.disconnect(error=error[1])
@@ -214,7 +220,7 @@ class Network(object):
)
if "!" in pmsg[0]:
- e_data.source, e_data.address = pmsg[0].split('!',1)
+ e_data.source, e_data.address = pmsg[0].split('!', 1)
else:
e_data.source, e_data.address = pmsg[0], ''
@@ -274,10 +280,10 @@ class Network(object):
def join(self, target, key='', requested=True):
if key:
- key = ' '+key
- self.raw("JOIN %s%s" % (target,key))
+ key = ' ' + key
+ self.raw("JOIN %s%s" % (target, key))
if requested:
- for chan in target.split(' ',1)[0].split(','):
+ for chan in target.split(' ', 1)[0].split(','):
if chan == '0':
self.requested_parts.update(self.on_channels)
else:
@@ -289,13 +295,12 @@ class Network(object):
self.raw("PART %s%s" % (target, msg))
if requested:
- for chan in target.split(' ',1)[0].split(','):
+ for chan in target.split(' ', 1)[0].split(','):
self.requested_parts.add(self.norm_case(target))
def msg(self, target, msg):
self.raw("PRIVMSG %s :%s" % (target, msg))
-
-
+
if len(msg) > 8 and msg[0:7] == "\x01ACTION":
self.events.trigger(
'OwnAction', source=self.me, target=str(target),
@@ -330,7 +335,10 @@ class Network(object):
)
#a Network that is never connected
+
+
class DummyNetwork(Network):
+
def __nonzero__(self):
return False
@@ -343,12 +351,15 @@ class DummyNetwork(Network):
raise NotImplementedError, "Cannot connect dummy network."
def raw(self, msg):
- raise NotImplementedError, "Cannot send %s over the dummy network." % repr(msg)
+ raise NotImplementedError, "Cannot send %s over the dummfy network." % repr(msg)
#dummy_network = DummyNetwork()
#this was ported from srvx's tools.c
+
+
def match_glob(text, glob, t=0, g=0):
+
while g < len(glob):
if glob[g] in '?*':
star_p = q_cnt = 0
@@ -367,7 +378,7 @@ def match_glob(text, glob, t=0, g=0):
if g == len(glob):
return True
for i in xrange(t, len(text)):
- if text[i] == glob[g] and match_glob(text, glob, i+1, g+1):
+ if text[i] == glob[g] and match_glob(text, glob, i + 1, g + 1):
return True
return False
else:
diff --git a/purk/windows.py b/purk/windows.py
index b48630b..28965ed 100644
--- a/purk/windows.py
+++ b/purk/windows.py
@@ -8,6 +8,10 @@ def append(window, manager):
print "** DEBUG :: Add Window: ", window
manager.add(window)
+def append(window1, manager):
+ print "** DEBUG :: Add window1: ", window1
+ manager.add(window1)
+
def remove(window, manager):
print "** DEBUG :: Remove Window: ", window
manager.remove(window)
@@ -297,3 +301,7 @@ class ChannelWindow(Window):
def is_channel(self):
return True
+
+ def is_channel_other(self):
+ return True
+