# /var/www/html/links/events/secrets_loader.py
from __future__ import annotations
import os, pathlib, re

def load_env_from_file(path: str) -> dict[str, str]:
    env = {}
    p = pathlib.Path(path)
    if not p.exists():
        return env
    for line in p.read_text(encoding="utf-8").splitlines():
        s = line.strip()
        if not s or s.startswith("#"):
            continue
        m = re.match(r'^([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$', s)
        if not m:
            continue
        k, v = m.group(1), m.group(2)
        if (len(v) >= 2) and ((v[0] == v[-1] == '"') or (v[0] == v[-1] == "'")):
            v = v[1:-1]
        os.environ.setdefault(k, v)
        env[k] = v
    return env

def load_default():
    here = pathlib.Path(__file__).resolve().parent
    # ../conf.d/secrets.env relative to the scripts directory
    secrets = (here / "../conf.d/secrets.env").resolve()
    return load_env_from_file(str(secrets))
