"""加载 manual_trading_hub/.env(Windows 直接 python hub.py 时也需要)."""
from __future__ import annotations

import os
from pathlib import Path

HUB_DIR = Path(__file__).resolve().parent


def load_hub_dotenv() -> None:
    path = HUB_DIR / ".env"
    if not path.is_file():
        return
    raw_bytes = path.read_bytes()
    text = ""
    for enc in ("utf-8-sig", "utf-16", "utf-16-le", "utf-16-be"):
        try:
            text = raw_bytes.decode(enc)
            break
        except Exception:
            continue
    if not text:
        text = raw_bytes.decode("utf-8", errors="ignore")
    text = text.replace("\x00", "")
    for line in text.splitlines():
        raw = line.strip()
        if not raw or raw.startswith("#") or "=" not in raw:
            continue
        key, value = raw.split("=", 1)
        clean_key = key.strip().lstrip("\ufeff")
        if not clean_key.replace("_", "").isalnum():
            continue
        clean_value = value.strip().strip('"').strip("'")
        os.environ[clean_key] = clean_value
