3 from functools
import wraps
4 from pyfiglet
import figlet_format
6 from functools
import reduce
13 def inner(text
, bold
=True):
17 return "\033[%sm%s\033[0m" % (c
, text
)
27 return "\033[38;5;%sm%s\033[0m" % (c
, text
)
31 default
= basic_color('39')
32 black
= basic_color('30')
33 red
= basic_color('31')
34 green
= basic_color('32')
35 yellow
= basic_color('33')
36 blue
= basic_color('34')
37 magenta
= basic_color('35')
38 cyan
= basic_color('36')
39 grey
= basic_color('90')
40 light_red
= basic_color('91')
41 light_green
= basic_color('92')
42 light_yellow
= basic_color('93')
43 light_blue
= basic_color('94')
44 light_magenta
= basic_color('95')
45 light_cyan
= basic_color('96')
46 white
= basic_color('97')
48 on_default
= basic_color('49')
49 on_black
= basic_color('40')
50 on_red
= basic_color('41')
51 on_green
= basic_color('42')
52 on_yellow
= basic_color('43')
53 on_blue
= basic_color('44')
54 on_magenta
= basic_color('45')
55 on_cyan
= basic_color('46')
56 on_grey
= basic_color('100')
57 on_light_red
= basic_color('101')
58 on_light_green
= basic_color('102')
59 on_light_yellow
= basic_color('103')
60 on_light_blue
= basic_color('104')
61 on_light_magenta
= basic_color('105')
62 on_light_cyan
= basic_color('106')
63 on_white
= basic_color('107')
65 colors_shuffle
= [locals()[i
.encode('utf8')] if not i
.startswith(
66 'RGB_') else RGB(int(i
[4:])) for i
in c
['CYCLE_COLOR']]
68 background_shuffle
= [
76 cyc
= itertools
.cycle(colors_shuffle
[1:])
81 Print a string with ordered color with each character
83 c
= [colors_shuffle
[i
% 7](s
[i
]) for i
in xrange(len(s
))]
84 return reduce(lambda x
, y
: x
+ y
, c
)
87 def random_rainbow(s
):
89 Print a string with random color with each character
91 c
= [random
.choice(colors_shuffle
)(i
) for i
in s
]
92 return reduce(lambda x
, y
: x
+ y
, c
)
103 if args
not in cache
:
104 cache
[args
] = func(*args
)
112 Cycle the colors_shuffle
121 fi
= figlet_format(text
, font
='doom')
123 [next(cyc
)(i
) for i
in fi
.split('\n')]