AkahuSync/config.py
2026-05-19 13:07:18 +12:00

28 lines
815 B
Python

from __future__ import annotations
from pathlib import Path
import os
from dotenv import dotenv_values
REPO_ROOT = Path(__file__).resolve().parent
def load_env(service: str | None = None) -> None:
root_env = REPO_ROOT / ".env"
root_values: dict[str, str] = {}
service_values: dict[str, str] = {}
if root_env.exists():
root_values = {k: v for k, v in dotenv_values(root_env).items() if v is not None}
if service:
service_env = REPO_ROOT / service / ".env"
if service_env.exists():
service_values = {k: v for k, v in dotenv_values(service_env).items() if v is not None}
# Precedence: explicit env > service env > root env
merged = {**root_values, **service_values}
for key, value in merged.items():
os.environ.setdefault(key, value)