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