-
Notifications
You must be signed in to change notification settings - Fork 60
/
Copy pathio.py
executable file
·88 lines (77 loc) · 2.69 KB
/
io.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
from __future__ import print_function
import sys
import platform
import colorama
msgTypeColor = {
None: ('', ''),
'info': (colorama.Fore.BLUE, '[*] '),
'warning': (colorama.Fore.YELLOW, '[!] '),
'error': (colorama.Fore.RED, '[-] '),
'ok': (colorama.Fore.GREEN, '[+] '),
}
def bprint(msgStr, msgType=None, vbCur=1, vbTs=1):
'''
print function with:
1. diffrent message type with different color:
info - default color
warning - yellow
error - red
ok - green
2. verbose level control.
args:
msgStr - the message string.
msgType - message type(info/warning/error/ok).
vbCur - current verbose level.
vbTs - verbose threshold to print the message.
'''
if vbCur >= vbTs:
# deprecated, because colorama.init() disables the auto-completion
# of cmd2, although it works very well in platform auto-detection.
#colorama.init(autoreset=True)
if platform.system().lower() == 'windows':
stream = colorama.AnsiToWin32(sys.stdout)
else:
stream = sys.stdout
print(msgTypeColor[msgType][0] + \
colorama.Style.BRIGHT + \
msgStr + \
colorama.Fore.RESET + \
colorama.Style.RESET_ALL,
file=stream)
def bprintPrefix(msgStr, msgType=None, vbCur=1, vbTs=1):
'''
print function with:
1. diffrent message type with different color:
info - default color
warning - yellow
error - red
ok - green
2. verbose level control.
args:
msgStr - the message string.
msgType - message type(info/warning/error/ok).
vbCur - current verbose level.
vbTs - verbose threshold to print the message.
'''
if vbCur >= vbTs:
# deprecated, because colorama.init() disables the auto-completion
# of cmd2, although it works very well in platform auto-detection.
#colorama.init(autoreset=True)
if platform.system().lower() == 'windows':
stream = colorama.AnsiToWin32(sys.stdout)
else:
stream = sys.stdout
print(msgTypeColor[msgType][0] + \
colorama.Style.BRIGHT + \
msgTypeColor[msgType][1] + \
colorama.Fore.RESET + \
colorama.Style.RESET_ALL,
end='',
file=stream)
print(msgStr,
file=stream)
if __name__ == '__main__':
for msgType, color in msgTypeColor.iteritems():
bprint('233333', msgType)
for msgType, color in msgTypeColor.iteritems():
bprintPrefix('666666', msgType)