Files
strategy32/live/env.py

28 lines
750 B
Python

from __future__ import annotations
import os
from pathlib import Path
def load_dotenv(path: str | Path) -> None:
target = Path(path)
if not target.exists():
return
for raw_line in target.read_text(encoding="utf-8").splitlines():
line = raw_line.strip()
if not line or line.startswith("#") or "=" not in line:
continue
key, value = line.split("=", 1)
key = key.strip()
value = value.strip().strip("'\"")
if key and key not in os.environ:
os.environ[key] = value
def env_bool(name: str, default: bool = False) -> bool:
raw = os.getenv(name)
if raw is None:
return default
return raw.strip().lower() in {"1", "true", "yes", "y", "on"}