Files
2026-10-15 01:59:40 +08:00

53 lines
1.7 KiB
Python

"""读 ~/skills_env.md 里的本机路径(KICAD_ROOT 等),不在脚本里写死。"""
import io
import os
import re
_ENV = None
def env(key, default=None):
global _ENV
if _ENV is None:
_ENV = {}
p = os.path.join(os.path.expanduser("~"), "skills_env.md")
if os.path.exists(p):
for line in io.open(p, encoding="utf-8", errors="replace"):
m = re.match(r"^\s*([A-Z0-9_]+)\s*=\s*(.+?)\s*$", line)
if m:
_ENV.setdefault(m.group(1), re.split(r"\s+#", m.group(2))[0].strip())
return os.environ.get(key) or _ENV.get(key) or default
def kicad_root():
r = env("KICAD_ROOT")
if not r:
raise SystemExit("~/skills_env.md 里没有 KICAD_ROOT")
return r
def kicad_cli():
return os.path.join(kicad_root(), "bin", "kicad-cli.exe")
def kicad_symbol_dir():
return os.path.join(kicad_root(), "share", "kicad", "symbols")
def kicad_footprint_dir():
return os.path.join(kicad_root(), "share", "kicad", "footprints")
def chrome():
"""headless 渲染框图用。skills_env 里可配 CHROME_EXE;否则按常见位置找 Chrome / Edge。"""
c = env("CHROME_EXE")
cands = [c] if c else []
cands += [r"C:\Program Files\Google\Chrome\Application\chrome.exe",
r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe",
r"C:\Program Files\Microsoft\Edge\Application\msedge.exe"]
for p in cands:
if p and os.path.exists(p):
return p
raise SystemExit("找不到 Chrome/Edge,请在 ~/skills_env.md 里配 CHROME_EXE")