mt5-manager/config.py

29 lines
810 B
Python

from pydantic_settings import BaseSettings, JsonConfigSettingsSource, SettingsConfigDict
import os
class Config(BaseSettings):
terminals: dict
mt5_folder: str
mt5_exe: str
model_config = SettingsConfigDict()
@classmethod
def settings_customise_sources(
cls,
settings_cls,
init_settings,
env_settings,
dotenv_settings,
file_secret_settings,
):
# Получаем путь к файлу из переменной окружения
config_file = os.getenv("MT5_MANAGER_CONFIG_FILE", "config.json")
return (
init_settings,
JsonConfigSettingsSource(settings_cls, json_file=config_file),
env_settings,
dotenv_settings,
file_secret_settings,
)