rushabhcodes/ESP32-E-Reader
A compact ESP32-C3 e-reader PCB integrating LiPo charging/protection, USB-C, 3.3 V regulation, e-paper display bias generation, microSD storage, and tactile controls.
- Version
- 1.0.85
- License
- unset
- Stars
- 3
scripts/package-preview-images.py
"""Preserve rendered CAD previews for Git imports that omit image binaries."""
import base64
import hashlib
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
ENCLOSURE = ROOT / 'assets/enclosure'
OUT = ENCLOSURE / 'preview-sources'
OUT.mkdir(exist_ok=True)
for source in sorted(ENCLOSURE.glob('*.png')):
data = source.read_bytes()
encoded = json.dumps({'sha256': hashlib.sha256(data).hexdigest(), 'base64': base64.b64encode(data).decode('ascii')}) + '\n'
assert len(encoded.encode()) <= 3 * 1024 * 1024, 'Split preview source before upload'
(OUT / (source.name + '.json')).write_text(encoded)
print('Preserved rendered preview images as checksummed text sources')