# -*- coding: utf-8 -*- """按 manual/<系列>/ 下实际存在的 p*.png 更新 meta.json 的附件引用。""" import json, os, glob, re CAT = r'D:/开发/OnebotCatalog/onebot-data/catalog' SERIES = ['UCBP','UCBM','UCBT','UCBQ','UCBH','UCDP','UCIM','UCIP','UCNM','UCNP','UFL'] for s in SERIES: d = os.path.join(CAT, 'manual', s) if not os.path.isdir(d): print(f'[{s}] 无 manual 目录,跳过'); continue pngs = sorted(glob.glob(os.path.join(d, 'p*.png'))) if not pngs: print(f'[{s}] 无 png,跳过'); continue atts = [] for p in pngs: atts.append({"kind": "manual", "lang": "", "source": f"manual/{s}/{os.path.basename(p)}", "model": None}) pdf = os.path.join(d, f'{s}_manual.pdf') if os.path.exists(pdf): atts.append({"kind": "datasheet", "lang": "", "source": f"manual/{s}/{s}_manual.pdf", "model": None}) mp = os.path.join(CAT, 'series', s + '.meta.json') with open(mp, encoding='utf-8') as f: meta = json.load(f) meta['attachments'] = atts with open(mp, 'w', encoding='utf-8') as f: json.dump(meta, f, ensure_ascii=False, indent=1) print(f'[{s}] 附件 {len(atts)} 个 ({len(pngs)}图 + {"1PDF" if os.path.exists(pdf) else "无PDF"})')