Add schema+file validator; pin down fs-web-stream as ad icons
Why: - schema 必须能自动校验,否则后续放量无法防腐。现在 scripts/validate.py 对全部 metadata.json 做两层检查(schema + 本地文件 sha256),跑一次 即可对全量数据签收;10/10 项目已通过。 - docs/sources/oshwhub.md 之前把 fs-web-stream.jlc.com 标为"工程源待查", 排查后确认那些 URL 全部是嘉立创服务侧栏/推广图标,与项目无关。 image.lceda.cn/attachments/ 是项目附件的唯一入口,现在调研文档闭合。 What: - scripts/validate.py: jsonschema 校验 + optional --check-files 核 sha256 - pyproject.toml: 加 jsonschema>=4.26 依赖 - docs/sources/oshwhub.md: fs-web-stream 归类为推广资源(已排除),附 context 证据 - log.md: 本次会话记录 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -52,14 +52,19 @@ HTML 内嵌 escaped JSON,关键字段:
|
||||
- **附件** (`attachments[].src`):`https://image.lceda.cn{src}`
|
||||
- 例:`/attachments/2020/7/mRn5hQZRhmx5r4usGxFmy8BXsCIHw5QoAT5HaLGC.pdf`
|
||||
- 已验证 HTTP 200,无鉴权
|
||||
- 覆盖 PDF / ZIP / MP4 等
|
||||
- **工程源文件** (`fs-web-stream.jlc.com/fs-web-stream/file-operation/download/<snowflake-id>`)
|
||||
- HTML 里出现,但能否直接下载未测试
|
||||
- 优先级:P1;v0.1 先不抓
|
||||
- 覆盖 PDF / ZIP / MP4 / CSV / BIN 等(用户自传全类型)
|
||||
- **这是项目用户文件的唯一入口**(已排查确认)
|
||||
|
||||
### 排查过不是项目源的路径
|
||||
- `fs-web-stream.jlc.com/fs-web-stream/file-operation/download/<snowflake-id>`
|
||||
- 详情页 HTML 里出现过 13 个,context 均为站点侧栏/推广图标
|
||||
- 例:嘉立创 3D 打印 icon、开源硬件平台 badge、EDA 扩展广场 banner
|
||||
- **与项目本身无关**,不抓
|
||||
|
||||
### 未找到 / 留作后续
|
||||
- EasyEDA 工程源 JSON(schematic/PCB 的真正源):推测在 `u.lceda.cn` 下,需登录
|
||||
- EasyEDA 工程源 JSON(schematic/PCB 的真正源):`u.lceda.cn/api/projects` 返回 401 "尚未登录",需要登录态
|
||||
- 项目详情 JSON API:`/api/project/<uuid>` 返回 `{"code":104001,"success":false}`(试过 GET/POST/路径形式均失败,疑似此端点需 session)
|
||||
- 当前通过 SSR HTML 解析获取详情,字段够用
|
||||
|
||||
## 已知字段与 schema 映射
|
||||
|
||||
|
||||
Reference in New Issue
Block a user