def translate_color(raw_text):
formated_text = []
raw_text = raw_text.decode("utf-8")
for at in raw_text.split("\x1b["):
try:
attr, text = at.split("m",1)
except:
attr = '0'
text = at.split("m",1)
list_attr = [ int(i) for i in attr.split(';') ]
list_attr.sort()
fg = -1
bg = -1
for elem in list_attr:
if elem <= 29:
pass
elif elem <= 37:
fg = elem - 30
elif elem <= 47:
bg = elem - 40
elif elem <= 94:
fg = fg + 8
elif elem >= 100 and elem <= 104:
bg = bg + 8
fgcolor = color_list[fg]
bgcolor = color_list[bg]
if fg < 0:
fgcolor = ''
if bg < 0:
bgcolor = ''
if list_attr == [0]:
fgcolor = ''
bgcolor = ''
formated_text.append((urwid.AttrSpec(fgcolor, bgcolor), text))
return formated_text
# vim: ai ts=4 sw=4 et sts=4
评论列表
文章目录