caterium-app/ops/demo/optimize-demo-images.py
2026-09-18 04:51:29 +03:00

16 lines
690 B
Python

"""Build lightweight display assets while retaining original demo PNGs for rollback."""
from pathlib import Path
from PIL import Image
root = Path(__file__).resolve().parents[2] / "public" / "demo" / "images"
original_bytes = optimized_bytes = 0
for source in sorted(root.glob("*.png")):
with Image.open(source) as image:
image = image.convert("RGB")
image.thumbnail((1024, 1024), Image.Resampling.LANCZOS)
target = source.with_suffix(".webp")
image.save(target, "WEBP", quality=83, method=6)
original_bytes += source.stat().st_size
optimized_bytes += target.stat().st_size
print(f"Demo images: {original_bytes:,} -> {optimized_bytes:,} bytes")