import logging from asyncio import get_event_loop from peewee_async import PostgresqlDatabase, Manager from kurocore.logger import BotLogger class Database: db: PostgresqlDatabase = PostgresqlDatabase(None) manager: Manager def __init__(self, settings): db_settings = settings.database driver_name = db_settings.driver host = db_settings.host name = db_settings.name user = db_settings.user password = db_settings.password port = db_settings.port if driver_name.lower() not in ('postgres', 'postgresql', 'psql'): raise Database.db.init(name, user=user, password=password, host=host, port=port) loop = get_event_loop() Database.manager = Manager(Database.db, loop=loop) Database.manager.allow_sync = logging.ERROR BotLogger.log.info('Connected to database')