summaryrefslogtreecommitdiff
path: root/src/xhtml.py
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2011-11-07 19:56:03 +0100
committerFlorent Le Coz <louiz@louiz.org>2011-11-08 00:16:35 +0100
commitf13d03c149a94a8316b9acb5944454357a395636 (patch)
tree18dc31dee306f8d4f0a71024088e409262f5e440 /src/xhtml.py
parent24043586893ecfa599379c15fd7ae5fa531d2a14 (diff)
downloadpoezio-f13d03c149a94a8316b9acb5944454357a395636.tar.gz
poezio-f13d03c149a94a8316b9acb5944454357a395636.tar.bz2
poezio-f13d03c149a94a8316b9acb5944454357a395636.tar.xz
poezio-f13d03c149a94a8316b9acb5944454357a395636.zip
poezio_colors_to_html now takes full colors (\x19xxx}) to generate the xhtml code
(cherry picked from commit 2b9a43ce6a5fa6ad93ab570a99d4d92337a40110)
Diffstat (limited to 'src/xhtml.py')
-rw-r--r--src/xhtml.py26
1 files 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 += '</%s>' % (elem,)
@@ -411,17 +410,20 @@ def poezio_colors_to_html(string):
if 'strong' not in opened_elements:
opened_elements.append('strong')
res += '<strong>'
- elif attr_char in digits:
- number = int(attr_char)
- if number in number_to_color_names:
- if 'strong' in opened_elements:
- res += '</strong>'
- opened_elements.remove('strong')
- if 'span' in opened_elements:
- res += '</span>'
- else:
- opened_elements.append('span')
- res += "<span style='color: %s'>" % (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 += '</strong>'
+ opened_elements.remove('strong')
+ if 'span' in opened_elements:
+ res += '</span>'
+ else:
+ opened_elements.append('span')
+ res += "<span style='color: %s'>" % (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]: