AkahuSync/config.py

28 lines
815 B
Python
Raw Normal View History

2026-05-18 22:47:46 +00:00
from __future__ import annotations
from pathlib import Path
2026-05-19 01:07:18 +00:00
import os
from dotenv import dotenv_values
2026-05-18 22:47:46 +00:00
REPO_ROOT = Path(__file__).resolve().parent
def load_env(service: str | None = None) -> None:
root_env = REPO_ROOT / ".env"
2026-05-19 01:07:18 +00:00
root_values: dict[str, str] = {}
service_values: dict[str, str] = {}
2026-05-18 22:47:46 +00:00
if root_env.exists():
2026-05-19 01:07:18 +00:00
root_values = {k: v for k, v in dotenv_values(root_env).items() if v is not None}
2026-05-18 22:47:46 +00:00
if service:
service_env = REPO_ROOT / service / ".env"
if service_env.exists():
2026-05-19 01:07:18 +00:00
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)