Files
online_sys/frontend_大健康/final_fix_questions.py

82 lines
2.7 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print("最终修复Mock文件结构...")
# 读取文件
with open('/Users/apple/Documents/cursor/教务系统/frontend_大健康/src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f:
lines = f.readlines()
# 备份
with open('/Users/apple/Documents/cursor/教务系统/frontend_大健康/src/mocks/resumeInterviewMock.js.backup_final_fix', 'w', encoding='utf-8') as f:
f.writelines(lines)
# 找到health_10的questions在第1787行
# 需要把从1787行开始的questions移到health_10的positions数组后面
# 找到health_10的positions数组结束第2073行
# 在这之前插入questions
# 提取questions内容从第1787行到某个结束位置
questions_start = 1786 # 第1787行索引是1786
questions_lines = []
bracket_count = 0
in_questions = False
for i in range(questions_start, len(lines)):
line = lines[i]
if '"questions": [' in line:
in_questions = True
bracket_count = 1
questions_lines.append(line)
elif in_questions:
questions_lines.append(line)
# 计算括号
bracket_count += line.count('[') - line.count(']')
if bracket_count == 0:
# questions数组结束
break
# 删除原位置的questions
# 从1785行有个多余的]开始删除到questions结束
del_start = 1784 # 第1785行
del_end = questions_start + len(questions_lines) + 1
# 删除这些行
new_lines = lines[:del_start] + lines[del_end:]
# 现在需要在health_10的positions数组后插入questions
# 找到正确的位置positions数组的结束
# 由于删除了一些行,需要重新定位
# 查找health_10的positions结束位置
for i in range(1760, len(new_lines)):
if 'health_10_4' in new_lines[i]:
# 找到最后一个position
# 继续找到它的结束
for j in range(i, min(i+50, len(new_lines))):
if '}' in new_lines[j] and 'requirements' in ''.join(new_lines[max(0, j-10):j]):
# 这是position对象的结束
# 在下一行插入
insert_pos = j + 1
# 修正格式确保positions数组正确关闭
new_lines[insert_pos-1] = ' }\n'
# 插入positions数组的关闭和questions
insert_lines = [' ],\n']
insert_lines.extend(questions_lines)
# 在insert_pos插入
new_lines = new_lines[:insert_pos] + insert_lines + new_lines[insert_pos:]
break
break
# 写回文件
with open('/Users/apple/Documents/cursor/教务系统/frontend_大健康/src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f:
f.writelines(new_lines)
print("✓ 修复完成!")