Files
Mycontent/scripts/download_mbti_avatars_dicebear.py
卡若 6d11fb295d feat: 同步本地三端改动并清理上传凭证风险
整合小程序、管理端与后端的最新本地改动,补齐用户管理与首页入口相关能力;提交前已完成敏感信息扫描,并移除本地 gitea 远程 URL 中的明文凭证,避免隐私信息进入远程仓库。

Made-with: Cursor
2026-04-06 15:59:34 +08:00

60 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
下载 16 型 MBTI 占位头像DiceBear notionists见 https://www.dicebear.com/licenses/ )。
说明:网传「药水姐 / 紫大姐 / 大宝剑」等对应的 3D 小人多为 16personalities 或同人版权素材,
未获授权不宜批量爬取用于商用小程序;本脚本仅拉取开源生成器产物作占位,可后续在管理端替换为自有素材 URL。
"""
from __future__ import annotations
import urllib.request
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
OUT = ROOT / "static" / "mbti-avatars-dicebear"
# 与社区常见梗名对应,便于文件夹内辨认(文件名仍用四字母类型)
MBTI_ORDER = [
("INTJ", "紫老头"),
("INTP", "药水姐"),
("ENTJ", "大姐头"),
("ENTP", "骨折眉毛"),
("INFJ", "绿老头"),
("INFP", "小蝴蝶"),
("ENFJ", "大宝剑"),
("ENFP", "快乐小狗"),
("ISTJ", "蓝老头"),
("ISFJ", "小护士"),
("ESTJ", "尺子姐"),
("ESFJ", "雨伞哥"),
("ISTP", "电钻哥"),
("ISFP", "小画家"),
("ESTP", "墨镜哥"),
("ESFP", "沙锤姐"),
]
BASE = "https://api.dicebear.com/7.x/notionists/svg"
def main() -> None:
OUT.mkdir(parents=True, exist_ok=True)
readme = OUT / "README.txt"
lines = [
"DiceBear 7.x notionists — 占位头像,可商用(以 dicebear.com 许可证为准)。",
"替换为「药水姐」等 3D 风素材时请使用自有版权或已授权图床 URL在管理端 MBTI 头像库粘贴保存。",
"",
]
for code, nick in MBTI_ORDER:
url = f"{BASE}?seed={code}"
dest = OUT / f"{code}.svg"
urllib.request.urlretrieve(url, dest)
lines.append(f"{code}.svg — {nick}")
print(f"ok {dest.name}")
readme.write_text("\n".join(lines) + "\n", encoding="utf-8")
print(f"done -> {OUT}")
if __name__ == "__main__":
main()