import json
import subprocess

# 执行命令获取记录
cmd = [
    'lark-cli', 'base', '+record-list',
    '--base-token', 'Q7r2bmrAJaQYUDsCwROclL7Qnue',
    '--table-id', 'tblvvMt31yPoYkvq',
    '--as', 'user',
    '--format', 'json'
]

result = subprocess.run(cmd, capture_output=True, text=True)

data = json.loads(result.stdout)
print('Top-level keys:', list(data.keys()))
print('data keys:', list(data.get('data', {}).keys()))

# 查找 records
if 'data' in data:
    data_obj = data['data']
    if 'records' in data_obj:
        records = data_obj['records']
    elif 'items' in data_obj:
        records = data_obj['items']
    else:
        print('Available keys in data:', list(data_obj.keys()))
        records = []
    
    if records:
        # 创建映射
        mapping = {}
        for rec in records:
            rank = rec['fields'].get('排名')
            if rank:
                mapping[int(rank)] = rec['record_id']
        
        # 保存映射
        with open('rank_to_record.json', 'w', encoding='utf-8') as f:
            json.dump(mapping, f, indent=2)
        
        print(f'\n✓ Mapped {len(mapping)} records')
        for rank in sorted(mapping.keys())[:5]:
            print(f'  Rank {rank}: {mapping[rank]}')
    else:
        print('No records found')
