-
Notifications
You must be signed in to change notification settings - Fork 0
/
debug_utils.py
39 lines (28 loc) · 875 Bytes
/
debug_utils.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
import datetime
global G_DEBUG
global G_DEPTH
def setDepth(depth: int):
global G_DEPTH
G_DEPTH = int(depth)
def increaseDepth():
global G_DEPTH
G_DEPTH += 1
def decreaseDepth():
global G_DEPTH
G_DEPTH -= 1
def setDebug(debug: bool):
global G_DEBUG
G_DEBUG = bool(debug)
def debugPrint(*args, **kwargs):
global G_DEBUG
global G_DEPTH
if G_DEBUG:
currentTime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S,%f")
print(
f"[{currentTime[:-3]}] ",
'--' * G_DEPTH + ('> ' if G_DEPTH > 0 else ''),
', '.join(map(lambda arg: str(arg), args)) if len(args) > 0 else '',
' | ' if len(args) > 0 and len(kwargs) > 0 else '',
' '.join([f'{key}: {value},' for key, value in kwargs.items()])[:-1] if len(kwargs) > 0 else '',
sep=''
)