Files
ALL-teach_sys/frontend_能源/add_modified_resumes_manual.py

93 lines
3.7 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import json
import datetime
import shutil
def main():
mock_file = "src/mocks/resumeInterviewMock.js"
# 备份
backup_path = f"{mock_file}.backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}"
shutil.copy(mock_file, backup_path)
print(f"✅ 已备份文件到:{backup_path}")
# 读取所有修改版简历
modified_folder = "网页未导入数据/能源产业/能源修改版简历"
modified_resumes = {}
for filename in os.listdir(modified_folder):
if filename.endswith('.md'):
position_name = filename.replace('.md', '')
with open(os.path.join(modified_folder, filename), 'r', encoding='utf-8') as f:
modified_resumes[position_name] = f.read()
print(f"📚 读取到 {len(modified_resumes)} 个修改版简历")
# 读取mock文件
with open(mock_file, 'r', encoding='utf-8') as f:
content = f.read()
# 对每个岗位进行处理
updated_count = 0
for position_name, resume_content in modified_resumes.items():
print(f"处理: {position_name}")
# 处理特殊情况电池pack测试工程师小写
search_name = position_name
if position_name == "电池PACK测试工程师":
search_name = "电池pack测试工程师"
# 查找该岗位在resumeTemplates中的位置
search_str = f'"position": "{search_name}"'
idx = content.find(search_str)
if idx > 0:
# 找到该岗位后查找其content对象
content_idx = content.find('"content": {', idx)
if content_idx > idx and content_idx - idx < 500: # 确保是同一个对象
# 查找original字段的结束位置
original_end_idx = content.find('"original": "', content_idx)
if original_end_idx > 0:
# 找到original值的结束位置
quote_idx = content_idx
count = 0
in_string = False
escape_next = False
# 从original开始查找其结束位置
for i in range(original_end_idx + 13, len(content)):
if escape_next:
escape_next = False
continue
if content[i] == '\\':
escape_next = True
continue
if content[i] == '"':
# 找到original值的结束引号
# 检查后面是否已有modified字段
check_str = content[i:i+100]
if '"modified":' not in check_str:
# 添加modified字段
escaped_resume = json.dumps(resume_content, ensure_ascii=False)
insert_str = f',\n "modified": {escaped_resume}'
content = content[:i+1] + insert_str + content[i+1:]
updated_count += 1
print(f" ✅ 已添加修改版")
else:
print(f" ⚠️ 已存在modified字段")
break
else:
print(f" ❌ 未找到该岗位")
# 写回文件
with open(mock_file, 'w', encoding='utf-8') as f:
f.write(content)
print(f"\n✅ 成功更新 {updated_count}/{len(modified_resumes)} 个岗位")
if __name__ == "__main__":
main()