coss_archiving/app/configuration.py

42 lines
1.2 KiB
Python

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
)
)