Flask-Project-Template/src/core/__builtins__.py

37 lines
1.1 KiB
Python

# Python imports
import os
import builtins
import threading
# Lib imports
# Application imports
from core.utils import Logger
from core.utils import MessageHandler
class BuiltinsException(Exception):
...
# NOTE: Threads WILL NOT die with parent's destruction.
def threaded_wrapper(fn):
def wrapper(*args, **kwargs):
threading.Thread(target=fn, args=args, kwargs=kwargs, daemon=False).start()
return wrapper
# NOTE: Threads WILL die with parent's destruction.
def daemon_threaded_wrapper(fn):
def wrapper(*args, **kwargs):
threading.Thread(target=fn, args=args, kwargs=kwargs, daemon=True).start()
return wrapper
# NOTE: Just reminding myself we can add to builtins two different ways...
# __builtins__.update({"event_system": Builtins()})
builtins.app_name = ':::APP TITLE:::'
builtins.threaded = threaded_wrapper
builtins.daemon_threaded = daemon_threaded_wrapper
builtins.ROOT_FILE_PTH = os.path.dirname(os.path.realpath(__file__))
builtins.logger = Logger(f"{ROOT_FILE_PTH}/../logs", _ch_log_lvl=10, _fh_log_lvl=10).get_logger()
builtins.json_message = MessageHandler()