#!/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()