From 0315b05f5122f1f4697699fc09de1b0860203177 Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Sun, 6 Nov 2011 19:21:59 +0100 Subject: Fix the sending of colors in private. fixes #2287 --- src/xhtml.py | 39 +++++++++++---------------------------- 1 file changed, 11 insertions(+), 28 deletions(-) (limited to 'src/xhtml.py') diff --git a/src/xhtml.py b/src/xhtml.py index 38239d18..f6487905 100644 --- a/src/xhtml.py +++ b/src/xhtml.py @@ -178,6 +178,8 @@ whitespace_re = re.compile(r'\s+') xhtml_attr_re = re.compile(r'\x19\d{0,3}\}|\x19[buaio]') +xhtml_simple_attr_re = re.compile(r'\x19\d') + def get_body_from_message_stanza(message): """ Returns a string with xhtml markups converted to @@ -342,6 +344,15 @@ def clean_text_simple(string): pos = string.find('\x19') return string +def convert_simple_to_full_colors(text): + """ + takes a \x19n formatted string and returns + a \x19n} formatted one. + """ + def add_curly_bracket(match): + return match.group(0) + '}' + return re.sub(xhtml_simple_attr_re, add_curly_bracket, text) + number_to_color_names = { 1: 'red', 2: 'green', @@ -394,31 +405,3 @@ def poezio_colors_to_html(string): res += '' % (elem,) res += "

" return res.replace('\n', '
') - -def poezio_colors_to_xhtml(string): - """ - Generate a valid xhtml string from - the poezio colors in the given string - """ - res = "" - next_attr_char = string.find('\x19') - open_elements = [] - while next_attr_char != -1: - attr_char = string[next_attr_char+1].lower() - if next_attr_char != 0: - res += string[:next_attr_char] - string = string[next_attr_char+2:] - if attr_char == 'o': - # close all opened elements - for elem in open_elements: - res += '' - open_elements = [] - elif attr_char == 'b': - if 'strong' not in open_elements: - res += '' - open_elements.append('strong') - elif attr_char in digits: - self._win.attron(common.curses_color_pair(int(attr_char))) - next_attr_char = string.find('\x19') - - -- cgit v1.2.3