blob: 1a690212640c7044a66c71a94a5f00f8187a8002 (
plain) (
blame)
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
|
import sys
class Cursor():
def SetPos(col, row, flush=True):
sys.stdout.write(u"\u001b[{0};{1}H".format(int(row), int(col)))
if flush: sys.stdout.flush()
def Left(n, flush=True):
sys.stdout.write(u"\u001b[{0}D".format(str(n)))
if flush: sys.stdout.flush()
def Right(n, flush=True):
sys.stdout.write(u"\u001b[{0}C".format(str(n)))
if flush: sys.stdout.flush()
def Up(n, flush=True):
sys.stdout.write(u"\u001b[{0}A".format(str(n)))
if flush: sys.stdout.flush()
def Down(n, flush=True):
sys.stdout.write(u"\u001b[{0}B".format(str(n)))
if flush: sys.stdout.flush()
class Screen():
def Clear(flush=True):
sys.stdout.write(u"\u001b[2J") # Clear screen
if flush: sys.stdout.flush()
def Flush():
sys.stdout.flush()
def Decorate(fg=None, bg=None, dec=None, flush=True):
if (fg is None) and (bg is None) and (dec is None):
sys.stdout.write(u"\u001b[0m")
if fg is not None:
sys.stdout.write(u"\u001b[38;5;{0}m".format(str(fg)))
if bg is not None:
sys.stdout.write(u"\u001b[48;5;{0}m".format(str(fg)))
if dec is not None:
if type(dec) == list:
for thing in dec:
if (thing == "reversed"): sys.stdout.write(u"\u001b[7m")
elif (thing == "underline"): sys.stdout.write(u"\u001b[4m")
elif (thing == "bold"): sys.stdout.write(u"\u001b[1m")
else:
raise ValueError('"{}" Not rekognized as a decoration'.format(thing))
elif type(dec) == str:
if (dec == "reversed"): sys.stdout.write(u"\u001b[7m")
elif (dec == "underline"): sys.stdout.write(u"\u001b[4m")
elif (dec == "bold"): sys.stdout.write(u"\u001b[1m")
else:
raise ValueError('"{}" Not rekognized as a decoration'.format(dec))
if flush: sys.stdout.flush()
def Write(outStr, flush=True):
sys.stdout.write(str(outStr))
if flush: sys.stdout.flush()
|