61 lines
5.1 KiB
Python
61 lines
5.1 KiB
Python
#!/usr/bin/env python3
|
|
"""Add [2-组图] to 021801/022001/022201/032601/032801 speaking-P2 records"""
|
|
import requests, json, time
|
|
|
|
APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf"
|
|
APP_ID = "cli_a931175d41799cc7"
|
|
APP_SECRET = "Iw2vEfbjT6GtV0GhbxbZqfQ4nAPtbR14"
|
|
TABLE = "tblGoWYBmVI0IrvQ"
|
|
|
|
r = requests.post("https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal",
|
|
json={"app_id": APP_ID, "app_secret": APP_SECRET}, timeout=10)
|
|
token = r.json()["tenant_access_token"]
|
|
|
|
r = requests.get(f"https://open.feishu.cn/open-apis/bitable/v1/apps/{APP_TOKEN}/tables/{TABLE}/records?page_size=200",
|
|
headers={"Authorization": f"Bearer {token}"}, timeout=15)
|
|
|
|
# [2-组图] prompts matching each record's second block questions
|
|
# Only prompts 2-5 (questions 0-3), question 4 is reflection — no prompt
|
|
pic_2 = {
|
|
"021801": '[2-组图]:{"prompt_2":"黑白线条图:一个孩子拿着作业本主动走到需要帮助的同学身边面带微笑,课桌上散落着打开的书本和铅笔","prompt_3":"黑白线条图:在学校走廊里,一个孩子蹲下来帮另一个同学系鞋带,另一个同学感激地看着他","prompt_4":"黑白线条图:两个孩子一起在花园里种下小树苗,一个扶着树苗一个培土,脸上带着共同的期待和开心","prompt_5":"黑白线条图:学校集会上,一个孩子站在台上双手接过助人为乐奖状,台下同学们纷纷起立鼓掌"}',
|
|
|
|
"022001": '[2-组图]:{"prompt_2":"黑白线条图:两个孩子在学校操场边,一个孩子拍拍同伴的肩膀用积极的话安慰,同伴紧皱的眉头逐渐舒展","prompt_3":"黑白线条图:一个孩子站在游泳池边有些紧张,旁边一位教练轻轻扶着他的手臂,表情充满鼓励","prompt_4":"黑白线条图:一个孩子坐在房间里反复练习弹钢琴,琴谱上标着红色笔记,表情从沮丧逐渐变为专注自信","prompt_5":"黑白线条图:操场上正在进行拔河比赛,所有孩子的表情认真又兴奋,绳子上系着的红丝带缓缓移动"}',
|
|
|
|
"022201": '[2-组图]:{"prompt_2":"黑白线条图:一群孩子在教室中围坐在地板上,有人在写活动计划清单,有人在剪彩纸装饰,气氛热闹活跃","prompt_3":"黑白线条图:墙上刚贴好的装饰物掉了下来散落一地,一个孩子满脸沮丧地蹲着,同伴们围过来想要帮忙","prompt_4":"黑白线条图:孩子们使用彩纸、剪刀、胶水和马克笔精心制作大型展示板,分工明确各有任务","prompt_5":"黑白线条图:全班学生在装饰后的教室里开心庆祝活动成功,大家分享着食物,脸上带着满足的笑容"}',
|
|
|
|
"032601": '[2-组图]:{"prompt_2":"黑白线条图:一个孩子在舞台中央表演,台下父母坐在观众席中激动地抹眼泪,聚光灯照在孩子身上","prompt_3":"黑白线条图:一个孩子坐在书桌前好奇地翻阅一本世界职业图册,上面有宇航员、教师、消防员等各种工作场景","prompt_4":"黑白线条图:一个孩子把远大的梦想写在旗帜上挂在高处,又认真地在地上用小石子一步步标记出通向目标的路径","prompt_5":"黑白线条图:一个孩子坐在朋友身边紧握朋友的手给予鼓励,朋友原本沮丧的表情逐渐露出希望的光"}',
|
|
|
|
"032801": '[2-组图]:{"prompt_2":"黑白线条图:一个孩子把手机放进一个小盒子里锁起来放到一边,然后转而拿起桌上的一本厚书认真阅读","prompt_3":"黑白线条图:一个孩子清晨醒来第一件事就是仔细叠被子整理床铺,家长站在门口微笑赞许","prompt_4":"黑白线条图:一个孩子坐在钢琴前弹奏出优美的旋律,墙上的日历从一月翻到六月每一页都打着勾,显示长期坚持","prompt_5":"黑白线条图:一个年长的孩子坐在年幼的学弟旁边,指着时间管理计划表耐心解释每项任务该如何安排"}',
|
|
}
|
|
|
|
for it in r.json()["data"]["items"]:
|
|
qsid = it["fields"].get("题目集合 ID", "")
|
|
if qsid not in pic_2: continue
|
|
rid = it["record_id"]
|
|
pic_old = it["fields"].get("图片描述", "")
|
|
# Append [2-组图] to existing [1-组图]
|
|
pic_new = pic_old + "\n" + pic_2[qsid] if pic_old else pic_2[qsid]
|
|
|
|
r2 = requests.put(
|
|
f"https://open.feishu.cn/open-apis/bitable/v1/apps/{APP_TOKEN}/tables/{TABLE}/records/{rid}",
|
|
headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"},
|
|
json={"fields": {"图片描述": pic_new}}, timeout=15)
|
|
code = r2.json().get("code")
|
|
print(f" {'✅' if code==0 else '❌'} {qsid}: +[2-组图] (总长{len(pic_new)}字)")
|
|
time.sleep(0.3)
|
|
|
|
# Verify
|
|
print(f"\n=== 验证 ===")
|
|
r = requests.get(f"https://open.feishu.cn/open-apis/bitable/v1/apps/{APP_TOKEN}/tables/{TABLE}/records?page_size=200",
|
|
headers={"Authorization": f"Bearer {token}"}, timeout=15)
|
|
|
|
for it in r.json()["data"]["items"]:
|
|
qsid = it["fields"].get("题目集合 ID", "")
|
|
if qsid not in pic_2: continue
|
|
pic = it["fields"].get("图片描述", "")
|
|
has_1 = "[1-组图]" in pic
|
|
has_2 = "[2-组图]" in pic
|
|
print(f" {qsid}: [1-组图]={'✅' if has_1 else '❌'} [2-组图]={'✅' if has_2 else '❌'}")
|
|
|
|
print("\n完成")
|