36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
from datetime import datetime
|
|
import time
|
|
|
|
# TODO: I dunno, but there's gotta be a better way to do this crap. This is way too messy
|
|
|
|
# Some messages pass a True or False as should_print depending on config variables
|
|
# Default to true, but return doing nothing if they pass a False.
|
|
def print_log(source="None", message, should_print=True):
|
|
if should_print == False:
|
|
return
|
|
|
|
message_meta = build_message_meta(source)
|
|
if source == "Main":
|
|
print('\033[92m', message_meta, '\033[0m', message)
|
|
elif source == "Notice":
|
|
print('\033[93m', message_meta, '\033[0m', message)
|
|
elif source == "Warning":
|
|
print('\033[91m', message_meta, '\033[0m', message)
|
|
elif source == "Web":
|
|
print('\033[95m', message_meta, '\033[0m', message)
|
|
else:
|
|
print('\033[94m', message_meta, '\033[0m', message)
|
|
|
|
# Builds the metadata part for the messages above
|
|
def build_message_meta(source):
|
|
return current_time() + ' ' + source.center(8, '-') + ' :'
|
|
|
|
def current_time():
|
|
return time_to_string(time.time(), True)
|
|
|
|
def time_to_string(unixtime, time_only = False):
|
|
if time_only:
|
|
return datetime.fromtimestamp(unixtime).strftime('[%H:%M:%S - ' + time.tzname[time.daylight] + ']')
|
|
else:
|
|
return datetime.fromtimestamp(unixtime).strftime('%B %d, %Y (%H:%M:%S - ' + time.tzname[time.daylight] + ')')
|