增加jsd清理机制,检测升级前自动清空本地jsd文件

This commit is contained in:
晚风拂柳颜 2023-07-03 11:07:46 +08:00
parent 0f7f9bda8e
commit 413a30b324
3 changed files with 15 additions and 3 deletions

View File

@ -1 +1 @@
3.9.46beta1 3.9.46beta2

View File

@ -234,7 +234,7 @@
}); });
$('#clear_drop').click(function () { $('#clear_drop').click(function () {
if(confirm('若js目录存在同名的jsd文件则视为该源为废弃源。执行此功能将清理与jsd文件同名的js文件。执行此功能前请确保项目的jsd文件跟仓库一致防止误删。推荐进容器 rm -rf js/*.jsd 后强制升级一次再使用此功能。立即执行则确认否则取消执行')){ if(confirm('若js目录存在同名的jsd文件则视为该源为废弃源。执行此功能将清理与jsd文件同名的js文件。执行此功能前请确保项目的jsd文件跟仓库一致防止误删。推荐进容器 rm -rf js/*.jsd 后强制升级一次再使用此功能,后续升级时会自动清空旧版jsd文件。立即执行则确认否则取消执行')){
$.get("/admin/clear_drop", function (data, status) { $.get("/admin/clear_drop", function (data, status) {
console.log(data); console.log(data);
if (data.code === 200) { if (data.code === 200) {

View File

@ -156,6 +156,17 @@ def copy_to_update():
# print(f'升级失败,找不到目录{dr_path}') # print(f'升级失败,找不到目录{dr_path}')
logger.info(f'升级失败,找不到目录{dr_path}') logger.info(f'升级失败,找不到目录{dr_path}')
return False return False
js_path = os.path.join(base_path, 'js')
files = os.listdir(js_path)
jsd_list = list(filter(lambda x: str(x).endswith('.jsd'), files))
try:
for jsd in jsd_list:
os.remove(jsd)
logger.info(f'升级过程中共计清理jsd文件数:{len(jsd_list)}')
except Exception as e:
logger.info(f'升级过程中清理jsd文件发生错误:{e}')
# 千万不能覆盖superbase # 千万不能覆盖superbase
paths = ['js','models','controllers','libs','static','templates','utils','txt','jiexi','py','whl','doc'] paths = ['js','models','controllers','libs','static','templates','utils','txt','jiexi','py','whl','doc']
exclude_files = ['txt/pycms0.json','txt/pycms1.json','txt/pycms2.json','base/rules.db'] exclude_files = ['txt/pycms0.json','txt/pycms1.json','txt/pycms2.json','base/rules.db']
@ -163,6 +174,7 @@ def copy_to_update():
force_copy_files(os.path.join(dr_path, path), os.path.join(base_path, path),exclude_files) force_copy_files(os.path.join(dr_path, path), os.path.join(base_path, path),exclude_files)
try: try:
shutil.copy(os.path.join(dr_path, 'app.py'), os.path.join(base_path, 'app.py')) # 复制文件 shutil.copy(os.path.join(dr_path, 'app.py'), os.path.join(base_path, 'app.py')) # 复制文件
shutil.copy(os.path.join(dr_path, 'requirements.txt'), os.path.join(base_path, 'requirements.txt')) # 复制文件
except Exception as e: except Exception as e:
logger.info(f'更新app.py发生错误:{e}') logger.info(f'更新app.py发生错误:{e}')
logger.info(f'升级程序执行完毕,全部文件已拷贝覆盖') logger.info(f'升级程序执行完毕,全部文件已拷贝覆盖')