导出安装包格式变更为zip

This commit is contained in:
jingrow 2025-10-29 14:37:46 +08:00
parent 60a8f3090e
commit 7e5ecf79b4

View File

@ -2,7 +2,6 @@
导出应用安装包功能
"""
from pathlib import Path
import subprocess
import shutil
from datetime import datetime
@ -44,18 +43,15 @@ def export_app_package_from_local(app_name: str, apps_dir: Path):
else:
shutil.copy2(item, dst)
# 打包
final_filename = f"{app_name}-{timestamp}.tar.gz"
tmp_tar = tmp_dir / final_filename
subprocess.check_output(
["tar", "czf", str(tmp_tar), app_name],
cwd=str(tmp_dir)
)
# 打包为 ZIP
final_filename = f"{app_name}-{timestamp}.zip"
base_name = tmp_dir / f"{app_name}-{timestamp}"
# 生成 {base_name}.zip压缩 tmp_dir 下的 app_name 目录
shutil.make_archive(str(base_name), 'zip', root_dir=str(tmp_dir), base_dir=app_name)
# 移动到 files 目录
final_tar = files_dir / final_filename
shutil.move(str(tmp_tar), str(final_tar))
final_zip_path = files_dir / final_filename
shutil.move(str(base_name) + ".zip", str(final_zip_path))
# 清理临时目录
shutil.rmtree(final_dir, ignore_errors=True)
@ -63,6 +59,6 @@ def export_app_package_from_local(app_name: str, apps_dir: Path):
return {
"success": True,
"filename": final_filename,
"file_path": str(final_tar),
"message": f"应用安装包已导出到: {final_tar}"
"file_path": str(final_zip_path),
"message": f"应用安装包已导出到: {final_zip_path}"
}