# -*- coding: utf-8 -*- r"""上传 1.6.0 到中转站下载区,并清掉旧版本。""" from __future__ import annotations import sys from pathlib import Path ROOT = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote") sys.path.insert(0, str(ROOT / "_build")) from devssh import run, upload # noqa: E402 VER = "1.6.0" REMOTE_DIR = "/root/lanremote-relay/downloads" UPLOADS = [ (f"dist/ykxmz-agent-{VER}.zip", f"{REMOTE_DIR}/ykxmz-agent-{VER}.zip"), (f"dist/ykxmz-server-{VER}.zip", f"{REMOTE_DIR}/ykxmz-server-{VER}.zip"), (f"dist/ykxmz-watch-{VER}.apk", f"{REMOTE_DIR}/ykxmz-watch-{VER}.apk"), ] def main() -> int: # 旧版本清掉,页面上只留最新的一份 print(" 清掉旧版本:") _c, out, _e = run(f"ls {REMOTE_DIR}/ 2>/dev/null", timeout=30) for line in (out or "").splitlines(): name = line.strip() if name and VER not in name: run(f"rm -f '{REMOTE_DIR}/{name}'", timeout=30) print(f" 删除 {name}") print() print(" 上传 1.6.0:") for local, remote in UPLOADS: src = ROOT / local if not src.is_file(): print(f" [失败] {local} 不存在") return 1 upload(str(src), remote, 0o644) print(f" ✓ {src.name} ({src.stat().st_size / 1024 / 1024:.2f} MB)") print() _c, out, _e = run(f"ls -la {REMOTE_DIR}/ | tail -6", timeout=30) print(out) return 0 if __name__ == "__main__": sys.exit(main())