文件
phonerail/.claude/_tmp_verify_all.py

26 行
1.7 KiB
Python

# -*- coding: utf-8 -*-
import json,sys,os,subprocess
sys.path.insert(0,'.claude')
from eda import run
V='.claude/skills/easyeda-sch-geometry/scripts/verify_sch.py'
PAGES=[('P2-CHANNEL','e528be1438486876','p2'),('P2B-CH2','b8afe2b674df51f1','p2'),('P2C-CH3','38c5dbbf943f1a9e','p2'),
('P2D-CH4','2365af19390c50d6','p2'),('P2E-CH5','af0926ecaacd8bac','p2'),('P3-CONTROL','12f74666e70167e4','p3'),
('P3B-EXPAND','f42285b3728794d0','p3b'),('P6-FAN-EDL','fd00f13e59336392','p6'),('P5-BTB','58bacf3ddd60ed4e',None),
('C1-CONN','1cc8af8cba7ec7b2','c1'),('C6-KEYS','f44d1c8b0ad64fad','c6'),('C2-HUB','472c9bdbd7180ac4','p4b'),
('C4-SITE1','c64b3352a0a2876c','c4'),('C4-SITE2','caf6bd3899748f16','c4'),('C4-SITE3','0348577f027362cd','c4'),
('C4-SITE4','fc3e4d76ab751c0a','c4'),('C4-SITE5','e58ef2c0a55e744a','c4')]
only=sys.argv[1:]
for name,uuid,nc in PAGES:
if only and name not in only: continue
r=run("await eda.dmt_EditorControl.openDocument('%s'); await new Promise(r=>setTimeout(r,1200)); return (await eda.dmt_Schematic.getCurrentSchematicPageInfo()).name;"%uuid,timeout=120)
assert r.get('success') and r['result']==name, (name, r)
args=[sys.executable,V]
f='.claude/%s-nets-nc.json'%nc if nc else None
if f and os.path.exists(f): args+=['--nc',f]
p=subprocess.run(args,capture_output=True,text=True,encoding='utf-8',errors='replace')
lines=[l for l in p.stdout.splitlines() if l.strip()]
tail=[l for l in lines if any(k in l for k in ('悬空','单引脚','无网络名','多个名字','通过','FAIL','PASS','✅','❌','失败'))]
print('%-12s rc=%d %s'%(name,p.returncode,' | '.join(tail[-6:])[:400]))
if p.returncode!=0:
print('\n'.join(lines[-25:]))