From d9852940d65ed2abd7490ad46ba5597b5989f5b7 Mon Sep 17 00:00:00 2001 From: jo Date: Fri, 21 Jan 2022 19:01:19 +0100 Subject: [PATCH] refactor(shared): dict merging using pydantic deep_update --- shared/libretime_shared/config.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/shared/libretime_shared/config.py b/shared/libretime_shared/config.py index 9dee69019..343f9ac6b 100644 --- a/shared/libretime_shared/config.py +++ b/shared/libretime_shared/config.py @@ -9,6 +9,7 @@ from loguru import logger # pylint: disable=no-name-in-module from pydantic import BaseModel, ValidationError from pydantic.fields import ModelField +from pydantic.utils import deep_update from yaml import YAMLError, safe_load DEFAULT_ENV_PREFIX = "LIBRETIME" @@ -38,12 +39,7 @@ class BaseConfig(BaseModel): env_values = self._load_env_values(env_prefix, env_delimiter) try: - super().__init__( - **{ - **file_values, - **env_values, - }, - ) + super().__init__(**deep_update(file_values, env_values)) except ValidationError as error: logger.critical(error) sys.exit(1)