nomadweb/redmini/scripts/pack.py
eric 73b0513b9c Add WeChat, Douyin, and offline XHS mini-program scaffolds.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 12:57:18 -05:00

31 lines
931 B
Python

#!/usr/bin/env python3
"""Pack release/ into uploadable zip (index.html at zip root)."""
from __future__ import annotations
import sys
import zipfile
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
TOOL = ROOT / "release"
OUT = ROOT / "dist" / "nomadro-redmini.zip"
def main() -> int:
out = Path(sys.argv[1]) if len(sys.argv) > 1 else OUT
out.parent.mkdir(parents=True, exist_ok=True)
if out.exists():
out.unlink()
files = sorted(p for p in TOOL.rglob("*") if p.is_file())
if not files:
print("release/ empty — run: python scripts/assemble.py", file=sys.stderr)
return 1
with zipfile.ZipFile(out, "w", compression=zipfile.ZIP_DEFLATED) as zf:
for p in files:
zf.write(p, p.relative_to(TOOL).as_posix())
print(f"packed {out} ({out.stat().st_size / 1024:.1f} KB)")
return 0
if __name__ == "__main__":
raise SystemExit(main())