62 lines
1.9 KiB
Python
62 lines
1.9 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
|
|||
|
|
import os
|
|||
|
|
import datetime
|
|||
|
|
import shutil
|
|||
|
|
|
|||
|
|
def read_ehs_content():
|
|||
|
|
"""
|
|||
|
|
读取EHS项目文件
|
|||
|
|
"""
|
|||
|
|
project_folder = "网页未导入数据/能源产业/学生完成的项目"
|
|||
|
|
|
|||
|
|
for file in os.listdir(project_folder):
|
|||
|
|
if "EHS" in file and file.endswith(".md"):
|
|||
|
|
file_path = os.path.join(project_folder, file)
|
|||
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
|||
|
|
content = f.read()
|
|||
|
|
return content, file.replace(".md", "")
|
|||
|
|
return None, None
|
|||
|
|
|
|||
|
|
def replace_sections_in_component():
|
|||
|
|
"""
|
|||
|
|
替换组件中的sections数组
|
|||
|
|
"""
|
|||
|
|
# 读取sections fix文件
|
|||
|
|
with open("ehs_sections_fix_v2.js", 'r', encoding='utf-8') as f:
|
|||
|
|
new_sections = f.read()
|
|||
|
|
|
|||
|
|
# 读取组件文件
|
|||
|
|
component_path = "src/pages/ProjectLibraryPage/index.jsx"
|
|||
|
|
with open(component_path, 'r', encoding='utf-8') as f:
|
|||
|
|
content = f.read()
|
|||
|
|
|
|||
|
|
# 备份文件
|
|||
|
|
backup_path = f"{component_path}.backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}"
|
|||
|
|
shutil.copy(component_path, backup_path)
|
|||
|
|
print(f"✅ 已备份文件到:{backup_path}")
|
|||
|
|
|
|||
|
|
# 查找并替换sections部分
|
|||
|
|
# 找到sections: [ 开始到 ] 结束的内容
|
|||
|
|
import re
|
|||
|
|
|
|||
|
|
# 使用正则表达式匹配整个sections数组
|
|||
|
|
pattern = r'( sections: \[[\s\S]*?\n \])'
|
|||
|
|
|
|||
|
|
matches = re.findall(pattern, content)
|
|||
|
|
if matches:
|
|||
|
|
print(f"找到 {len(matches)} 个sections数组")
|
|||
|
|
# 替换第一个匹配(clickableProjects中的sections)
|
|||
|
|
content = re.sub(pattern, new_sections, content, count=1)
|
|||
|
|
|
|||
|
|
# 写入文件
|
|||
|
|
with open(component_path, 'w', encoding='utf-8') as f:
|
|||
|
|
f.write(content)
|
|||
|
|
|
|||
|
|
print("✅ 成功替换sections数组")
|
|||
|
|
else:
|
|||
|
|
print("❌ 未找到sections数组")
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
replace_sections_in_component()
|