From 777b11588e268831ab8c8610136030430ec1abeb Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Fri, 23 Apr 2010 10:00:28 -0300 Subject: [PATCH] check if the regexps exist before trying to use them (lots of "None"s being highlighted because of no checking)" --- mitterlib/ui/helpers/gtk_messagegrid.py | 33 ++++++++++++++----------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/mitterlib/ui/helpers/gtk_messagegrid.py b/mitterlib/ui/helpers/gtk_messagegrid.py index bf110fe..5919d82 100644 --- a/mitterlib/ui/helpers/gtk_messagegrid.py +++ b/mitterlib/ui/helpers/gtk_messagegrid.py @@ -187,25 +187,28 @@ class MessageGrid(gtk.ScrolledWindow, gobject.GObject): message_values['message']) # highlight users - user_mask = '(%s)' % (data.user_regexp) - user_re = re.compile(user_mask, re.I) - mask = r'\1' % (self.user_color) - message_values['message'] = user_re.sub(mask, - message_values['message']) + if data.user_regexp: + user_mask = '(%s)' % (data.user_regexp) + user_re = re.compile(user_mask, re.I) + mask = r'\1' % (self.user_color) + message_values['message'] = user_re.sub(mask, + message_values['message']) # highlight groups - group_mask = '(%s)' % (data.group_regexp) - group_re = re.compile(group_mask, re.I) - mask = r'\1' % (self.group_color) - message_values['message'] = group_re.sub(mask, - message_values['message']) + if data.group_regexp: + group_mask = '(%s)' % (data.group_regexp) + group_re = re.compile(group_mask, re.I) + mask = r'\1' % (self.group_color) + message_values['message'] = group_re.sub(mask, + message_values['message']) # highlight tags - tag_mask = '(%s)' % (data.tag_regexp) - tag_re = re.compile(tag_mask, re.I) - mask = r'\1' % (self.tag_color) - message_values['message'] = tag_re.sub(mask, - message_values['message']) + if data.tag_regexp: + tag_mask = '(%s)' % (data.tag_regexp) + tag_re = re.compile(tag_mask, re.I) + mask = r'\1' % (self.tag_color) + message_values['message'] = tag_re.sub(mask, + message_values['message']) # use a different highlight for the current user # TODO: How to handle this with several networks?