author | Radek Brich <radek.brich@devl.cz> |
Wed, 03 Apr 2013 20:37:05 +0200 | |
changeset 1 | ee31f1bf17c1 |
child 2 | d3ffa15f5886 |
permissions | -rw-r--r-- |
1
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
1 |
# -*- coding: utf-8 -*- |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
2 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
3 |
(BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, BOLD) = range(0,9) |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
4 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
5 |
names = ['black','red','green','yellow','blue','magenta','cyan','white'] |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
6 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
7 |
disabled = False # set True to disable all colors |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
8 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
9 |
def color(enable, fg=None, bg=None): |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
10 |
''' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
11 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
12 |
color(1) -- switch to bold |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
13 |
color(1,1) -- red foreground |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
14 |
color(1,3,4) -- red on blue |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
15 |
color(0) -- reset |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
16 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
17 |
''' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
18 |
global disabled |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
19 |
if disabled: |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
20 |
return '' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
21 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
22 |
if isinstance(fg, str): |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
23 |
fg = names.index(fg) |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
24 |
if isinstance(bg, str): |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
25 |
bg = names.index(bg) |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
26 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
27 |
if enable: |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
28 |
code = '1' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
29 |
if fg is not None: |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
30 |
code = '' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
31 |
if fg >= 8: |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
32 |
fg -= 8 |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
33 |
code += '1;' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
34 |
code += str(30 + fg) |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
35 |
if bg is not None: |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
36 |
code += ';' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
37 |
if bg >= 8: |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
38 |
bg -= 8 |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
39 |
code += '1;' |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
40 |
code += str(40 + bg) |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
41 |
return "\033[" + code + "m" |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
42 |
else: |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
43 |
return "\033[0m" |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
44 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
45 |
def setcolor(enable, fg=None, bg=None): |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
46 |
print(color(enable, fg, bg), end='') |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
47 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
48 |
|
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
49 |
if __name__ == '__main__': |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
50 |
for c in range(0,8): |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
51 |
print( |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
52 |
color(1,c), names[c].ljust(20), |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
53 |
color(1,8+c), names[c].ljust(20), |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
54 |
color(0), sep='') |
ee31f1bf17c1
Add ansicolor, prettysize, makeurl and README.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
55 |