94 lines
3.6 KiB
Python
94 lines
3.6 KiB
Python
"""
|
||
回填审校结果到 bitable
|
||
"""
|
||
import json, subprocess
|
||
|
||
APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf"
|
||
SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh"
|
||
|
||
records = [
|
||
{
|
||
"table_id": "tblCgfYDnnqwLfgH",
|
||
"record_id": "recvjt0HzBBhYu",
|
||
"sid": "032501",
|
||
"text": """⚠️ 审校通过(0项错误)
|
||
题型:reading_matchInfo | 题组:first=6题 second=0题
|
||
📝 备注:只有一道题组(first),缺少second题组
|
||
|
||
🟡 能力标签映射建议(12处):
|
||
- '信息定位与提取' → '扫读定位|信息匹配'(6处)
|
||
- '细节理解' → '细节理解|事实信息提取'(6处)
|
||
|
||
✅ 题目内容、选项、答案、解析均无问题"""
|
||
},
|
||
{
|
||
"table_id": "tbl4q0ZUV3HB54t1",
|
||
"record_id": "recvjug1hWz2oG",
|
||
"sid": "032601",
|
||
"text": """⚠️ 审校通过(0项错误)
|
||
题型:reading_choiceLong | 题组:first=5题 second=0题
|
||
📝 备注:只有一道题组(first),缺少second题组
|
||
|
||
🟡 能力标签映射建议(10处):
|
||
- '信息定位' → '扫读定位|信息匹配'(4处)
|
||
- '细节理解' → '细节理解|事实信息提取'(3处)
|
||
- '主旨归纳' → '主旨理解|段落/文本大意'(1处)
|
||
- '因果推断' → '推理判断|原因/结果'(1处)
|
||
- '推理判断' → '推理判断|原因/结果'(1处)
|
||
|
||
✅ 题目内容、选项、答案、解析均无问题"""
|
||
},
|
||
{
|
||
"table_id": "tblzKVm1FEukPgnN",
|
||
"record_id": "recvjueHm15HPu",
|
||
"sid": "032701",
|
||
"text": """⚠️ 审校通过(0项错误)
|
||
题型:reading_cloze | 题组:first=6题 second=0题
|
||
📝 备注:只有一道题组(first),缺少second题组
|
||
|
||
🟡 需补充内容(12项):
|
||
- 全部6题的 ability 能力标签为空,需补充(建议:语法结构识别|完形填空)
|
||
- 全部6题的 explanation 解析为空,需补充
|
||
- 选项与答案已填写,结构完整"""
|
||
},
|
||
{
|
||
"table_id": "tblzKVm1FEukPgnN",
|
||
"record_id": "recvjueN5QT1c5",
|
||
"sid": "032801",
|
||
"text": """⚠️ 审校通过(0项错误)
|
||
题型:reading_cloze | 题组:first=6题 second=0题
|
||
📝 备注:只有一道题组(first),缺少second题组
|
||
|
||
🟡 需补充内容(12项):
|
||
- 全部6题的 ability 能力标签为空,需补充(建议:语法结构识别|完形填空)
|
||
- 全部6题的 explanation 解析为空,需补充
|
||
- 选项与答案已填写,结构完整"""
|
||
},
|
||
{
|
||
"table_id": "tblLmUxzzUDe0QAJ",
|
||
"record_id": "recvjueULrufNg",
|
||
"sid": "032901",
|
||
"text": """⚠️ 审校通过(0项错误)
|
||
题型:reading_openCloze | 题组:first=8题 second=6题
|
||
|
||
🟡 需补充内容(28项):
|
||
- 全部14题的 ability 能力标签为空,需补充(建议:语法结构识别|完形填空)
|
||
- 全部14题的 explanation 解析为空,需补充
|
||
- 选项与答案已填写,题组完整(first+second均有)"""
|
||
},
|
||
]
|
||
|
||
for r in records:
|
||
# Escape the text for shell/JSON
|
||
fields = json.dumps({"审校结果": r['text']}, ensure_ascii=False)
|
||
cmd = f"bash {SKILL_SCRIPT} update_record {APP_TOKEN} {r['table_id']} {r['record_id']} '{fields}'"
|
||
result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=30)
|
||
try:
|
||
resp = json.loads(result.stdout)
|
||
if resp.get('code') == 0:
|
||
print(f"✅ {r['sid']} ({r['table_id'][-8:]}): 回填成功")
|
||
else:
|
||
print(f"❌ {r['sid']}: {resp}")
|
||
except:
|
||
print(f"❌ {r['sid']}: parse error — {result.stdout[:200]}")
|