diff --git a/src/common.py b/src/common.py index bd79b788..93eca601 100644 --- a/src/common.py +++ b/src/common.py @@ -62,7 +62,13 @@ def debug(string): a CLI software """ fdes = open("debug", 'a') - fdes.write(string) + try: + fdes.write(string) + except: + try: + fdes.write(string.encode('utf-8')) + except: + fdes.write(string.encode('utf-8')) fdes.close() def get_base64_from_file(path): diff --git a/src/connection.py b/src/connection.py index c0bd5575..0ac8be6a 100644 --- a/src/connection.py +++ b/src/connection.py @@ -220,6 +220,5 @@ class Connection(threading.Thread): """ we received a vcard """ - return from common import debug debug('\n====\n%s\n\n' % iq) diff --git a/src/gui.py b/src/gui.py index 6b9180ad..8038243f 100644 --- a/src/gui.py +++ b/src/gui.py @@ -288,6 +288,8 @@ class Gui(object): char_we_dont_want = [',', '(', ')', '.'] words = list() for msg in self.current_room().messages[:-9:-1]: + if not msg: + continue for word in msg.txt.split(): for char in char_we_dont_want: # remove the chars we don't want word = word.replace(char, '') @@ -1018,6 +1020,8 @@ class Gui(object): i = 0 link = None for msg in self.current_room().messages[:-200:-1]: + if not msg: + continue matches = re.findall('"((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))"', msg.txt) for m in matches: if i == nb: @@ -1065,4 +1069,3 @@ class Gui(object): sleep(0.2) # :( self.reset_curses() sys.exit() - diff --git a/src/multiuserchat.py b/src/multiuserchat.py index 8fb510f7..bd60641e 100644 --- a/src/multiuserchat.py +++ b/src/multiuserchat.py @@ -223,7 +223,6 @@ class MultiUserChat(object): def on_presence(self, presence): """Receive a MUC presence notification""" from_ = presence.getFrom().__str__() - if get_stripped_jid(from_) in self.rooms: self.handler.emit('on-muc-presence-changed', jid=from_.encode('utf-8'),