""" Config SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2023 Project Peter Yefi peteryefi@gmail.com """ import os import platform from pathlib import Path from hub.persistence.db_control import DBControl from hub.persistence.repository import Repository from hub.catalog_factories.energy_systems_catalog_factory import EnergySystemsCatalogFactory class Config: def __init__(self): dotenv_path = "{}/.local/etc/hub_api/.env".format(os.path.expanduser('~')) if platform.system() == 'Linux': dotenv_path = Path(dotenv_path).resolve() environment = 'PROD' database_name = 'montreal_retrofit' self._max_file_size = 10 * 1024 * 1024 # 10 MB self._database = DBControl(db_name=database_name, app_env=environment, dotenv_path=dotenv_path) self._repository = Repository(db_name=database_name, app_env=environment, dotenv_path=dotenv_path) self._energy_systems_catalog = EnergySystemsCatalogFactory('montreal_custom').catalog @property def database(self): return self._database @property def repository(self): return self._repository @property def energy_systems_catalog(self): return self._energy_systems_catalog @property def max_file_size(self): return self._max_file_size