Files
online_sys/frontend_智能制造/remove_fake_modified.py
KQL a7242f0c69 Initial commit: 教务系统在线平台
- 包含4个产业方向的前端项目:智能开发、智能制造、大健康、财经商贸
- 已清理node_modules、.yoyo等大文件,项目大小从2.6GB优化至631MB
- 配置完善的.gitignore文件

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 18:16:55 +08:00

129 lines
3.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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