niming_igapi/app.py
2025-04-26 22:36:57 +00:00

80 lines
No EOL
1.8 KiB
Python

import importlib.util
import logging
import threading
import os
from backend import backend
from backend.ig import IG
from backend.db import dbhelper
from backend.utils import ld_interface
from backend.utils import ld_picturemaker
from config.config import DEBUG, TMP, FRONTEND
#if DEBUG:
# from dotenv import load_dotenv
# load_dotenv()
def main():
# logging init
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
# logging
loaderlog = logging.getLogger("loader")
loaderlog.setLevel(level=logging.INFO)
# debug
if DEBUG:
loaderlog.info("DEBUG MODE ENABLED")
##################
# tmp dir
if not os.path.exists(TMP):
loaderlog.info("Temporary directory not found, creating...")
os.mkdir(TMP)
##################
# load interface module
ld_interface.init()
# load picture_maker module
ld_picturemaker.init()
##################
# init backend modules
## id2igid.db
loaderlog.info("Connecting to id2igid.db...")
dbhelper.init()
## instagram
loaderlog.info("Initializing IG...")
IG.init()
##################
# load frontend
loaderlog.info("Loading frontend")
spec = importlib.util.spec_from_file_location("frontend", FRONTEND)
femod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(femod)
fe = threading.Thread(target=femod.main)
fe.start()
# load backend
loaderlog.info("Loading backend")
be = threading.Thread(target=backend.main)
be.start()
##################
# end
loaderlog.info("Loaded")
if __name__ == "__main__":
main()