63 lines
2.3 KiB
Python
63 lines
2.3 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
|
|||
|
|
import json
|
|||
|
|
import re
|
|||
|
|
|
|||
|
|
# 读取清理后的数据
|
|||
|
|
with open('resume_updates_cleaned.json', 'r', encoding='utf-8') as f:
|
|||
|
|
updates = json.load(f)
|
|||
|
|
|
|||
|
|
# 获取文创产品设计师助理的数据
|
|||
|
|
assistant_data = next((u for u in updates if u['position'] == '文创产品设计师助理'), None)
|
|||
|
|
if not assistant_data:
|
|||
|
|
print("未找到文创产品设计师助理数据")
|
|||
|
|
exit(1)
|
|||
|
|
|
|||
|
|
# 读取文件
|
|||
|
|
with open('src/mocks/resumeInterviewMock.js', 'r', encoding='utf-8') as f:
|
|||
|
|
content = f.read()
|
|||
|
|
|
|||
|
|
# 构建要替换的studentInfo
|
|||
|
|
student_info = assistant_data['studentInfo']
|
|||
|
|
project_exp = student_info['project_experience']
|
|||
|
|
|
|||
|
|
# 转义特殊字符
|
|||
|
|
description = project_exp['description'].replace('`', '\\`').replace('"', '\\"')
|
|||
|
|
personal_summary = student_info['personal_summary'].replace('"', '\\"')
|
|||
|
|
|
|||
|
|
# 构建新的studentInfo内容
|
|||
|
|
new_student_info = f'''{{
|
|||
|
|
project_experience: {{
|
|||
|
|
project_name: "{project_exp['project_name']}",
|
|||
|
|
position: "{project_exp['position']}",
|
|||
|
|
time_period: "{project_exp['time_period']}",
|
|||
|
|
company: "{project_exp['company']}",
|
|||
|
|
description: `{description}`
|
|||
|
|
}},
|
|||
|
|
core_skills: {json.dumps(student_info['core_skills'], ensure_ascii=False, indent=10)},
|
|||
|
|
compound_skills: {json.dumps(student_info['compound_skills'], ensure_ascii=False, indent=10)},
|
|||
|
|
personal_summary: "{personal_summary}"
|
|||
|
|
}}'''
|
|||
|
|
|
|||
|
|
# 查找文创产品设计师助理在resumeTemplates中的位置(第三个位置)
|
|||
|
|
# 使用更精确的模式来定位第三个实例
|
|||
|
|
pattern = r'(position: "文创产品设计师助理",\s+level: "普通岗",[\s\S]*?studentInfo: )(\{[^}]*(?:\{[^}]*\}[^}]*)*\})'
|
|||
|
|
|
|||
|
|
matches = list(re.finditer(pattern, content))
|
|||
|
|
print(f"找到 {len(matches)} 个匹配")
|
|||
|
|
|
|||
|
|
if len(matches) > 0:
|
|||
|
|
# 使用最后一个匹配(应该是在resumeTemplates中的)
|
|||
|
|
match = matches[-1]
|
|||
|
|
|
|||
|
|
# 替换studentInfo
|
|||
|
|
new_content = content[:match.start(2)] + new_student_info + content[match.end(2):]
|
|||
|
|
|
|||
|
|
# 保存文件
|
|||
|
|
with open('src/mocks/resumeInterviewMock.js', 'w', encoding='utf-8') as f:
|
|||
|
|
f.write(new_content)
|
|||
|
|
|
|||
|
|
print("✅ 文创产品设计师助理已更新")
|
|||
|
|
else:
|
|||
|
|
print("❌ 未找到正确的替换位置")
|