导出安装包格式变更为zip
This commit is contained in:
parent
60a8f3090e
commit
7e5ecf79b4
@ -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}"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user