286 lines
7.3 KiB
Python
286 lines
7.3 KiB
Python
#!/usr/bin/env python3
|
||
"""Update 图片描述 for reading_pic_judge records."""
|
||
import json, requests, time
|
||
|
||
CRED_FILE = "/root/.openclaw/credentials/xiaoyan/config.json"
|
||
APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf"
|
||
TABLE_ID = "tblJc60aO0T163MJ"
|
||
|
||
IMAGE_DESC = {
|
||
# ---- 121301 ----
|
||
"recvj5nIAxF3XG": """1.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:住宅街道,阳光下三栋彩色小房子并排而立
|
||
三栋卡通房子 - 黄色屋顶、红色屋顶、蓝色屋顶,并排站着,前面有小路和花草。
|
||
|
||
2.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:厨房一角
|
||
棕色木质橱柜 - 靠着墙,柜子上放着几个盘子,柜门半开能看到里面的杯子。
|
||
|
||
3.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:客厅一角
|
||
一张大沙发 - 蓝色软沙发,沙发上有两个彩色靠垫,沙发前有小茶几。
|
||
|
||
4.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:卧室
|
||
一间卧室 - 里面有粉色小床、床头柜,墙上有时钟和画,地板上铺着地毯。
|
||
|
||
5.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:卧室
|
||
一张小床 - 粉色小床上有枕头和被子,床头柜上放着一盏台灯,房间墙上贴着星星贴纸。
|
||
|
||
6.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:动物园门口
|
||
动物园入口 - 大拱门上写着"ZOO",门外能看到长颈鹿和狮子在围栏里。
|
||
|
||
7.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:动物园水池
|
||
河马 - 一只胖胖的河马泡在浅蓝色的水池里,只露出头和两只小耳朵,旁边有水草。
|
||
|
||
8.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:卧室衣柜前
|
||
牛仔裤 - 一条蓝色牛仔裤叠放在椅子上。
|
||
|
||
9.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:卧室衣柜前
|
||
牛仔裤 - 一条蓝色牛仔裤挂在衣架上。
|
||
|
||
10.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:森林里
|
||
大棕熊 - 一只棕色大熊站在绿色森林中,旁边有大树。""",
|
||
|
||
# ---- 121401 ----
|
||
"recvj5nJG33bBE": """1.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:小学教室
|
||
学生们 - 三个穿校服的小学生坐在课桌前,女孩扎着马尾,男孩短发,每人桌上放着课本。
|
||
|
||
2.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:学校外观
|
||
学校建筑 - 一栋红色砖墙的学校大楼,楼顶有国旗飘动,大门敞开,门口有"School"标牌。
|
||
|
||
3.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:美术课桌面
|
||
蜡笔 - 桌上散落着红黄蓝绿紫五支彩色蜡笔。
|
||
|
||
4.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:美术课桌面
|
||
蜡笔 - 红黄蓝绿四支蜡笔整齐排放在白纸上。
|
||
|
||
5.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:教室
|
||
女老师 - 穿着裙子的女老师站在讲台前,手里拿着粉笔,身后的黑板上写着字母。
|
||
|
||
6.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:儿童卧室地面
|
||
垫子 - 一张彩色图案的方形游戏垫铺在地板上,垫子旁边散放着积木玩具。
|
||
|
||
7.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:儿童卧室
|
||
课桌 - 一张木色小课桌,桌上有台灯、铅笔筒和一本打开的书。
|
||
|
||
8.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:衣帽间
|
||
手提包 - 一个红色女士手提包挂在挂钩上,包上有金色扣子。
|
||
|
||
9.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:卧室门口
|
||
书包 - 一个蓝色卡通书包靠在门边。
|
||
|
||
10.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:衣帽间
|
||
手提包 - 一个红色手提包放在白色架子上。""",
|
||
|
||
# ---- 121501 ----
|
||
"recvj5nKxhm8X6": """1.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:白色背景前
|
||
小男孩全身 - 一个穿红色T恤和蓝色短裤的男孩,从头到脚完整站立,双臂自然下垂。
|
||
|
||
2.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:白色背景前
|
||
嘴的特写 - 一张微笑的嘴,上下两排白色牙齿,嘴唇粉色。
|
||
|
||
3.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:公园草地上
|
||
两个小朋友 - 男孩和女孩在草地上一起玩球,两人都笑得很开心。
|
||
|
||
4.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:白色背景前
|
||
耳朵的特写 - 一只人的耳朵,耳廓清晰可见。
|
||
|
||
5.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:公园
|
||
两个小朋友 - 一个男孩和一个女孩手牵手站在树下,两人微笑着看向前方。
|
||
|
||
6.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:白色背景前
|
||
相机 - 一台黑色单反相机,镜头朝前,闪光灯在顶部。
|
||
|
||
7.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:公园
|
||
小男孩 - 一个戴棒球帽的男孩,穿着条纹T恤和短裤,站在草地上微笑。
|
||
|
||
8.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:背景前
|
||
滑板 - 一个蓝色滑板平放在地上,侧面有火焰图案。
|
||
|
||
9.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:户外滑板场
|
||
女孩滑滑板 - 一个扎马尾的女孩踩在滑板上滑行,滑板在脚下。
|
||
|
||
10.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:背景前
|
||
滑板 - 一个蓝色带火焰图案的滑板平放在地面。""",
|
||
|
||
# ---- 121601 ----
|
||
"recvj5nLUpubaU": """1.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:海滩
|
||
夏天 - 金色沙滩上有一把遮阳伞,蓝色大海远处有小帆船,天空挂着大太阳。
|
||
|
||
2.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:户外
|
||
冬天雪景 - 白色雪覆盖地面和房屋屋顶,树木光秃秃的没有树叶,空中飘着雪花。
|
||
|
||
3.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:户外
|
||
冬天雪景 - 一个雪人戴着帽子和围巾站在雪地里,房屋和树上都覆盖着白雪。
|
||
|
||
4.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:冬天户外
|
||
穿厚棉衣的男孩 - 一个男孩穿着厚厚的外套,戴着围巾和手套,嘴里呼出白气,背景是雪地。
|
||
|
||
5.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:户外
|
||
秋天 - 橙色和黄色的落叶铺满地面,树木只剩下稀疏的叶子,天空有一群飞鸟。
|
||
|
||
6.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:马路上
|
||
公交车 - 一辆红色双层公交车停在路边,有窗户和车门。
|
||
|
||
7.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:卧室
|
||
长裤 - 一条蓝色长裤叠放在床边的凳子上。
|
||
|
||
8.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:卧室
|
||
长裤 - 一条深蓝色长裤挂在衣架上。
|
||
|
||
9.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:户外
|
||
下雪 - 白色雪花从天空中纷纷落下,地面和房屋屋顶积了厚厚一层雪。
|
||
|
||
10.
|
||
|
||
风格: 卡通,简单线条
|
||
场景:户外
|
||
雪地 - 白色雪覆盖了整个地面,空中飘着雪花,远处有积雪覆盖的屋顶。""",
|
||
}
|
||
|
||
with open(CRED_FILE) as f:
|
||
cred = json.load(f)
|
||
app_id = cred["apps"][0]["appId"]
|
||
app_secret = cred["apps"][0]["appSecret"]
|
||
|
||
token_resp = requests.post(
|
||
"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal",
|
||
json={"app_id": app_id, "app_secret": app_secret},
|
||
)
|
||
token = token_resp.json()["tenant_access_token"]
|
||
|
||
for rid, desc in IMAGE_DESC.items():
|
||
resp = requests.put(
|
||
f"https://open.feishu.cn/open-apis/bitable/v1/apps/{APP_TOKEN}/tables/{TABLE_ID}/records/{rid}",
|
||
headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"},
|
||
json={"fields": {"图片描述": desc}},
|
||
)
|
||
code = resp.json().get("code")
|
||
print(f" {rid}: code={code}, desc_len={len(desc)}")
|
||
time.sleep(0.5)
|
||
|
||
# Verify
|
||
print("\nVerification:")
|
||
for rid in IMAGE_DESC:
|
||
resp = requests.get(
|
||
f"https://open.feishu.cn/open-apis/bitable/v1/apps/{APP_TOKEN}/tables/{TABLE_ID}/records/{rid}",
|
||
headers={"Authorization": f"Bearer {token}"},
|
||
)
|
||
desc_len = len(resp.json()["data"]["record"]["fields"].get("图片描述", ""))
|
||
print(f" {rid}: 图片描述={desc_len}chars {'✅' if desc_len > 100 else '❌'}")
|
||
print("\nDone.")
|