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