Adding the majority of the stuff we need to parse ANSI codes.
This commit is contained in:
parent
df393d4bf0
commit
c5f20f4038
1 changed files with 34 additions and 0 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
import re
|
||||||
"""
|
"""
|
||||||
ANSI related stuff.
|
ANSI related stuff.
|
||||||
"""
|
"""
|
||||||
|
|
@ -34,3 +35,36 @@ ansi["back_blue"] = "\033[44m"
|
||||||
ansi["back_magenta"] = "\033[45m"
|
ansi["back_magenta"] = "\033[45m"
|
||||||
ansi["back_cyan"] = "\033[46m"
|
ansi["back_cyan"] = "\033[46m"
|
||||||
ansi["back_white"] = "\033[47m"
|
ansi["back_white"] = "\033[47m"
|
||||||
|
|
||||||
|
def parse_ansi(string):
|
||||||
|
"""
|
||||||
|
Parses a string, subbing color codes as needed.
|
||||||
|
"""
|
||||||
|
ansi_subs = [
|
||||||
|
(r'%cf', ansi["blink"]),
|
||||||
|
(r'%ci', ansi["inverse"]),
|
||||||
|
(r'%ch', ansi["hilite"]),
|
||||||
|
(r'%cn', ansi["normal"]),
|
||||||
|
(r'%cx', ansi["black"]),
|
||||||
|
(r'%cX', ansi["back_black"]),
|
||||||
|
(r'%cr', ansi["red"]),
|
||||||
|
(r'%cR', ansi["back_red"]),
|
||||||
|
(r'%cg', ansi["green"]),
|
||||||
|
(r'%cG', ansi["back_green"]),
|
||||||
|
(r'%cy', ansi["yellow"]),
|
||||||
|
(r'%cY', ansi["back_yellow"]),
|
||||||
|
(r'%cb', ansi["blue"]),
|
||||||
|
(r'%cB', ansi["back_blue"]),
|
||||||
|
(r'%cm', ansi["magenta"]),
|
||||||
|
(r'%cM', ansi["back_magenta"]),
|
||||||
|
(r'%cc', ansi["cyan"]),
|
||||||
|
(r'%cC', ansi["back_cyan"]),
|
||||||
|
(r'%cw', ansi["white"]),
|
||||||
|
(r'%cW', ansi["back_white"]),
|
||||||
|
]
|
||||||
|
|
||||||
|
for sub in ansi_subs:
|
||||||
|
p = re.compile(sub[0], re.DOTALL)
|
||||||
|
string = p.sub(sub[1], string)
|
||||||
|
|
||||||
|
print '%s%s' % (string, ansi["normal"])
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue