Skip to content

Commit 39712f5

Browse files
authored
fix(envs): envs of os and .env (#325)
1 parent 4649d6c commit 39712f5

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

veadk/utils/misc.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -137,19 +137,20 @@ def set_envs(config_yaml_path: str, env_from_dotenv: dict = None) -> tuple[dict,
137137
config_dict = safe_load(yaml_file)
138138

139139
flatten_config_dict = flatten_dict(config_dict)
140-
141-
veadk_environments = dict(env_from_dotenv)
142-
for k, v in flatten_config_dict.items():
143-
k = k.upper()
144-
145-
if k in env_from_dotenv:
140+
config_upper_map = {k.upper(): v for k, v in flatten_config_dict.items()}
141+
all_keys = {k.upper() for k in flatten_config_dict.keys()} | set(
142+
env_from_dotenv.keys() if env_from_dotenv else []
143+
)
144+
veadk_environments = {}
145+
for k in all_keys:
146+
if k in os.environ:
146147
logger.info(
147-
f"Environment variable {k} has been set in .env, value in `config.yaml` will be ignored."
148+
f"Environment variable {k} has been set, value in `config.yaml` will be ignored."
148149
)
150+
veadk_environments[k] = os.environ[k]
149151
continue
150-
veadk_environments[k] = str(v)
151-
os.environ[k] = str(v)
152-
152+
veadk_environments[k] = str(config_upper_map.get(k))
153+
os.environ[k] = str(config_upper_map.get(k))
153154
return config_dict, veadk_environments
154155

155156

0 commit comments

Comments
 (0)