78 lines
1.6 KiB
Python
78 lines
1.6 KiB
Python
import asyncio
|
|
import datetime
|
|
import inspect
|
|
import json
|
|
import logging
|
|
import subprocess
|
|
|
|
from rich import print as pp
|
|
|
|
|
|
def runCmd(cmdString):
|
|
result = subprocess.run(cmdString, stdout=subprocess.PIPE, shell=True).stdout.decode('utf-8')
|
|
return result
|
|
|
|
|
|
def syncRun(coroutine):
|
|
loop = asyncio.get_event_loop()
|
|
# coroutine = funcInstace()
|
|
return loop.run_until_complete(coroutine)
|
|
|
|
|
|
def datetimeNow():
|
|
return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
|
|
|
|
def loadJson(fileanme):
|
|
try:
|
|
with open(fileanme, "r") as f:
|
|
secrets = json.load(f)
|
|
|
|
return secrets
|
|
except FileNotFoundError:
|
|
log(f"File not found: {fileanme}")
|
|
return None
|
|
|
|
|
|
def log2(message, *args):
|
|
frame = inspect.currentframe().f_back
|
|
class_name = frame.f_locals.get('self', '').__class__.__name__
|
|
func_name = frame.f_code.co_name
|
|
line_no = frame.f_lineno
|
|
caller = f"{class_name}::{func_name},{line_no}"
|
|
prefix = f"[{datetimeNow()}|{caller}]"
|
|
pp(f"{prefix} {message}", end='')
|
|
for arg in args:
|
|
pp(arg, end='')
|
|
pp("")
|
|
|
|
|
|
def log(message, *args):
|
|
log = logging.getLogger()
|
|
log.info(message)
|
|
|
|
|
|
def logD(message, *args):
|
|
log = logging.getLogger()
|
|
log.debug(message)
|
|
|
|
|
|
def logI(message, *args):
|
|
log = logging.getLogger()
|
|
log.info(message)
|
|
|
|
|
|
def logW(message, *args):
|
|
log = logging.getLogger()
|
|
log.warning(message)
|
|
|
|
|
|
def logE(message, *args):
|
|
log = logging.getLogger()
|
|
log.error(message)
|
|
|
|
|
|
def logC(message, *args):
|
|
log = logging.getLogger()
|
|
log.critical(message)
|