Files
online_sys/frontend_智能开发/remove_fake_modified.py

129 lines
3.9 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
from datetime import datetime
def create_backup(file_path):
"""创建备份文件"""
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
backup_path = f"{file_path}.backup_{timestamp}"
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
with open(backup_path, 'w', encoding='utf-8') as f:
f.write(content)
print(f"已创建备份: {backup_path}")
return backup_path
def remove_fake_modified_versions():
"""删除没有真实修改版的岗位的modified字段"""
file_path = 'src/mocks/resumeInterviewMock.js'
# 创建备份
create_backup(file_path)
# 有真实修改版的岗位列表这些要保留modified
real_modified_positions = [
"会展策划师",
"会展执行助理",
"会展讲解员",
"活动策划师",
"活动执行",
"漫展策划师",
"旅游规划师",
"旅游计调专员",
"景区运营专员",
"文旅运营总监助理"
]
# 读取文件内容
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# 找到所有包含position和modified的代码块
# 匹配模式从position: "岗位名" 开始到包含modified字段的整个content对象
pattern = r'position:\s*"([^"]+)".*?content:\s*\{[^}]*?original:\s*`[^`]*?`[^}]*?modified:\s*`[^`]*?`[^}]*?\}'
def process_match(match):
full_match = match.group(0)
position_name = match.group(1)
# 如果是有真实修改版的岗位,保持不变
if position_name in real_modified_positions:
print(f"✓ 保留 {position_name} 的修改版")
return full_match
# 否则删除modified字段
# 找到modified字段的开始位置
modified_pattern = r',\s*modified:\s*`[^`]*?`'
new_content = re.sub(modified_pattern, '', full_match)
print(f"✗ 删除 {position_name} 的假修改版")
return new_content
# 执行替换
new_content = re.sub(pattern, process_match, content, flags=re.DOTALL)
# 保存文件
with open(file_path, 'w', encoding='utf-8') as f:
f.write(new_content)
print("\n处理完成!")
def verify_results():
"""验证处理结果"""
file_path = 'src/mocks/resumeInterviewMock.js'
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# 统计所有有modified字段的岗位
pattern = r'position:\s*"([^"]+)".*?modified:\s*`'
matches = re.findall(pattern, content, re.DOTALL)
print("\n验证结果:")
print("=" * 50)
print(f"还有modified字段的岗位{len(matches)}个):")
for position in matches:
print(f" - {position}")
# 期望的岗位列表
expected = [
"会展策划师",
"会展执行助理",
"会展讲解员",
"活动策划师",
"活动执行",
"漫展策划师",
"旅游规划师",
"旅游计调专员",
"景区运营专员",
"文旅运营总监助理"
]
# 检查是否匹配
print("\n检查结果:")
for position in expected:
if position in matches:
print(f"{position} - 已保留modified")
else:
print(f"{position} - 未找到modified可能有问题")
# 检查是否有不应该有modified的岗位
unexpected = [p for p in matches if p not in expected]
if unexpected:
print("\n⚠️ 警告以下岗位不应该有modified字段")
for position in unexpected:
print(f" - {position}")
def main():
print("开始处理没有真实修改版的岗位...")
print("=" * 50)
# 删除假的修改版
remove_fake_modified_versions()
# 验证结果
verify_results()
if __name__ == "__main__":
main()