Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9cfea57

Browse files
committed
added termcolor library, MIT license, http://pypi.python.org/pypi/termcolor
1 parent 0702dd7 commit 9cfea57

2 files changed

Lines changed: 176 additions & 0 deletions

File tree

extra/termcolor/__init__.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env python
2+
3+
"""
4+
Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
5+
See the file 'doc/COPYING' for copying permission
6+
"""
7+
8+
pass

extra/termcolor/termcolor.py

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
# coding: utf-8
2+
# Copyright (c) 2008-2011 Volvox Development Team
3+
#
4+
# Permission is hereby granted, free of charge, to any person obtaining a copy
5+
# of this software and associated documentation files (the "Software"), to deal
6+
# in the Software without restriction, including without limitation the rights
7+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+
# copies of the Software, and to permit persons to whom the Software is
9+
# furnished to do so, subject to the following conditions:
10+
#
11+
# The above copyright notice and this permission notice shall be included in
12+
# all copies or substantial portions of the Software.
13+
#
14+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20+
# THE SOFTWARE.
21+
#
22+
# Author: Konstantin Lepa <[email protected]>
23+
24+
"""ANSII Color formatting for output in terminal."""
25+
26+
from __future__ import print_function
27+
import os
28+
29+
30+
__ALL__ = [ 'colored', 'cprint' ]
31+
32+
VERSION = (1, 1, 0)
33+
34+
ATTRIBUTES = dict(
35+
list(zip([
36+
'bold',
37+
'dark',
38+
'',
39+
'underline',
40+
'blink',
41+
'',
42+
'reverse',
43+
'concealed'
44+
],
45+
list(range(1, 9))
46+
))
47+
)
48+
del ATTRIBUTES['']
49+
50+
51+
HIGHLIGHTS = dict(
52+
list(zip([
53+
'on_grey',
54+
'on_red',
55+
'on_green',
56+
'on_yellow',
57+
'on_blue',
58+
'on_magenta',
59+
'on_cyan',
60+
'on_white'
61+
],
62+
list(range(40, 48))
63+
))
64+
)
65+
66+
67+
COLORS = dict(
68+
list(zip([
69+
'grey',
70+
'red',
71+
'green',
72+
'yellow',
73+
'blue',
74+
'magenta',
75+
'cyan',
76+
'white',
77+
],
78+
list(range(30, 38))
79+
))
80+
)
81+
82+
83+
RESET = '\033[0m'
84+
85+
86+
def colored(text, color=None, on_color=None, attrs=None):
87+
"""Colorize text.
88+
89+
Available text colors:
90+
red, green, yellow, blue, magenta, cyan, white.
91+
92+
Available text highlights:
93+
on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, on_white.
94+
95+
Available attributes:
96+
bold, dark, underline, blink, reverse, concealed.
97+
98+
Example:
99+
colored('Hello, World!', 'red', 'on_grey', ['blue', 'blink'])
100+
colored('Hello, World!', 'green')
101+
"""
102+
if os.getenv('ANSI_COLORS_DISABLED') is None:
103+
fmt_str = '\033[%dm%s'
104+
if color is not None:
105+
text = fmt_str % (COLORS[color], text)
106+
107+
if on_color is not None:
108+
text = fmt_str % (HIGHLIGHTS[on_color], text)
109+
110+
if attrs is not None:
111+
for attr in attrs:
112+
text = fmt_str % (ATTRIBUTES[attr], text)
113+
114+
text += RESET
115+
return text
116+
117+
118+
def cprint(text, color=None, on_color=None, attrs=None, **kwargs):
119+
"""Print colorize text.
120+
121+
It accepts arguments of print function.
122+
"""
123+
124+
print((colored(text, color, on_color, attrs)), **kwargs)
125+
126+
127+
if __name__ == '__main__':
128+
print('Current terminal type: %s' % os.getenv('TERM'))
129+
print('Test basic colors:')
130+
cprint('Grey color', 'grey')
131+
cprint('Red color', 'red')
132+
cprint('Green color', 'green')
133+
cprint('Yellow color', 'yellow')
134+
cprint('Blue color', 'blue')
135+
cprint('Magenta color', 'magenta')
136+
cprint('Cyan color', 'cyan')
137+
cprint('White color', 'white')
138+
print(('-' * 78))
139+
140+
print('Test highlights:')
141+
cprint('On grey color', on_color='on_grey')
142+
cprint('On red color', on_color='on_red')
143+
cprint('On green color', on_color='on_green')
144+
cprint('On yellow color', on_color='on_yellow')
145+
cprint('On blue color', on_color='on_blue')
146+
cprint('On magenta color', on_color='on_magenta')
147+
cprint('On cyan color', on_color='on_cyan')
148+
cprint('On white color', color='grey', on_color='on_white')
149+
print('-' * 78)
150+
151+
print('Test attributes:')
152+
cprint('Bold grey color', 'grey', attrs=['bold'])
153+
cprint('Dark red color', 'red', attrs=['dark'])
154+
cprint('Underline green color', 'green', attrs=['underline'])
155+
cprint('Blink yellow color', 'yellow', attrs=['blink'])
156+
cprint('Reversed blue color', 'blue', attrs=['reverse'])
157+
cprint('Concealed Magenta color', 'magenta', attrs=['concealed'])
158+
cprint('Bold underline reverse cyan color', 'cyan',
159+
attrs=['bold', 'underline', 'reverse'])
160+
cprint('Dark blink concealed white color', 'white',
161+
attrs=['dark', 'blink', 'concealed'])
162+
print(('-' * 78))
163+
164+
print('Test mixing:')
165+
cprint('Underline red on grey color', 'red', 'on_grey',
166+
['underline'])
167+
cprint('Reversed green on red color', 'green', 'on_red', ['reverse'])
168+

0 commit comments

Comments
 (0)