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')