import os import sys import configparser import logging from peewee import SqliteDatabase from rich.logging import RichHandler # first things first: logging logging.basicConfig( format='%(message)s', level=logging.INFO, datefmt='%Y-%m-%d %H:%M:%S', handlers=[RichHandler()] ) logger = logging.getLogger(__name__) # load config file containing constants and secrets parsed = configparser.ConfigParser() parsed.read("/app/file_storage/config.ini") if "debug" in sys.argv: logger.warning("Running in debugging mode because launched with argument 'debug'") # parsed.read("/code/config.ini") db_path = os.path.join(parsed["DATABASE"]["db_path_dev"], parsed["DATABASE"]["db_name"]) parsed["SLACK"]["archive_id"] = parsed["SLACK"]["debug_id"] parsed["MAIL"]["recipient"] = parsed["MAIL"]["sender"] else: logger.warning("Using production values, I hope you know what you're doing...") db_path = os.path.join(parsed["DATABASE"]["db_path_prod"], parsed["DATABASE"]["db_name"]) from utils_storage import models # Set up the database models.set_db( SqliteDatabase( db_path, pragmas = {'journal_mode': 'wal'} # mutliple threads can read at once ) )