forked from Arcmyx/pynamics
64 lines
2.6 KiB
Python
64 lines
2.6 KiB
Python
# Event codes:
|
|
#0: notify
|
|
#1: prgm_start
|
|
#2: prgm_end
|
|
#3: prgm_crash
|
|
#4: snsr_data
|
|
#5: mtr_data
|
|
#6: perf_smpl
|
|
#7: get_time
|
|
#8: breakpoint
|
|
lvldict = {
|
|
0: "FATAL",
|
|
1: "ALERT",
|
|
2: "CRIT",
|
|
3: "ERR",
|
|
4: "WARNING",
|
|
5: "NOTICE",
|
|
6: "INFO",
|
|
7: "DEBUG"
|
|
}
|
|
stpwtchtime = StopWatch()
|
|
stpwtchtime.pause()
|
|
|
|
def start():
|
|
self.time.reset()
|
|
self.time.resume()
|
|
|
|
def log(self, message, level, origin):
|
|
if level <= self.verboseness:
|
|
ms = self.time.time()
|
|
timestamp = "{:02d}:{:02d}.{:03d}".format(
|
|
(ms // 60000) % 60,
|
|
(ms // 1000) % 60,
|
|
ms % 1000
|
|
)
|
|
label = self.lvldict.get(level, "UNKNOWN")
|
|
padding = " " * (7 - len(label))
|
|
print("[{}] {}{} [{}] {}".format(timestamp, label, padding, origin, message))
|
|
|
|
def sendCommand(eventnum, level, msg, origin):
|
|
print(f"\x1b[?PYN;{str(eventnum)};{lvldict[level]};{msg}~")
|
|
def notify(level, msg, origin):
|
|
print(f"\x1b[?PYN;0;{lvldict[level]};{msg}~")
|
|
def fatal(self, message, origin): notify(message, 0, origin)
|
|
def alert(self, message, origin): notify(message, 1, origin)
|
|
def crit(self, message, origin): notify(message, 2, origin)
|
|
def err(self, message, origin): notify(message, 3, origin)
|
|
def warning(self, message, origin): notify(message, 4, origin)
|
|
def notice(self, message, origin): notify(message, 5, origin)
|
|
def info(self, message, origin): notify(message, 6, origin)
|
|
def debug(self, message, origin): notify(message, 7, origin)
|
|
def crash(self, message, origin):
|
|
sendCommand(3, 0, "program kinda crashed bc you suck at coding", origin)
|
|
raise FatalLoggerError("[FATAL] [{}] {}".format(origin, message))
|
|
sendCommand(0, 0, "hey you should probably know that your RAM is corrupted and you cant buy more because of the shortage. byeeeee", "test prgm")
|
|
sendCommand(0, 1, "UNRECOVERABLE PYTHON ERROR!!!!! Exiting gracefully... JUST KIDDING WHAT DID YOU THINK IT WAS GONNA DO", "test prgm")
|
|
sendCommand(0, 2, "so the program is running but it just started looping on the motor frying bit of your program.", "test prgm")
|
|
sendCommand(0, 3, "syntax error, you failure!!!! use an error checker", "test prgm")
|
|
sendCommand(0, 4, "wanted to just say that your motor is kinda being slow", "test prgm")
|
|
sendCommand(0, 5, "so your motor is like 1% slower than it should be but really no one cares", "test prgm")
|
|
sendCommand(0, 6, "hey everything in the program is going well just in case nothing in your life is", "test prgm")
|
|
sendCommand(0, 7, "nobody cares about me but you should know that", "test prgm")
|
|
def breakpoint():
|
|
#send a command 8 and also get all important info about the code here and print |