From f13d03c149a94a8316b9acb5944454357a395636 Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Mon, 7 Nov 2011 19:56:03 +0100 Subject: poezio_colors_to_html now takes full colors (\x19xxx}) to generate the xhtml code (cherry picked from commit 2b9a43ce6a5fa6ad93ab570a99d4d92337a40110) --- src/xhtml.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/xhtml.py b/src/xhtml.py index 748c9080..5eda635b 100644 --- a/src/xhtml.py +++ b/src/xhtml.py @@ -402,7 +402,6 @@ def poezio_colors_to_html(string): 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': for elem in opened_elements[::-1]: res += '' % (elem,) @@ -411,17 +410,20 @@ def poezio_colors_to_html(string): if 'strong' not in opened_elements: opened_elements.append('strong') res += '' - elif attr_char in digits: - number = int(attr_char) - if number in number_to_color_names: - if 'strong' in opened_elements: - res += '' - opened_elements.remove('strong') - if 'span' in opened_elements: - res += '' - else: - opened_elements.append('span') - res += "" % (number_to_color_names[number]) + if attr_char in digits: + number_str = string[next_attr_char+1:string.find('}', next_attr_char)] + number = int(number_str) + if 'strong' in opened_elements: + res += '' + opened_elements.remove('strong') + if 'span' in opened_elements: + res += '' + else: + opened_elements.append('span') + res += "" % (ncurses_color_to_html(number),) + string = string[next_attr_char+len(number_str)+2:] + else: + string = string[next_attr_char+2:] next_attr_char = string.find('\x19') res += string for elem in opened_elements[::-1]: -- cgit v1.2.3