Files
epaper-dashboard/test_minimax_render.py
T
ki 28124c5617 Initial commit: epaper-dashboard for 7.3" ACeP 7-Color display
- dashboard.py: plugin-based renderer with 4x4 grid layout
- admin.py: web UI with layout editor + plugin configs
- layout.py: pack algorithm, item placement, grid system
- plugins/: clock, weather, system, spotify, strava, gmail, minimax, hello
- network_watchdog.py: WiFi AP/client mode management
- waveshare_epd_init.py: vendor driver stub
2026-08-26 14:12:43 +04:00

27 lines
1.0 KiB
Python

import sys; sys.path.insert(0, ".")
from PIL import Image, ImageDraw, ImageFont
from plugins.minimax import Widget
class FakeWidget(Widget):
def fetch(self):
return {
"windows": [
{"label": "5-Hour", "used_pct": 47.0, "remaining_pct": 53.0, "reset_seconds": 1820, "raw": {}},
{"label": "Weekly", "used_pct": 23.0, "remaining_pct": 77.0, "reset_seconds": 124800, "raw": {}},
],
"credits": {"points": 12345.0},
}
img = Image.new("RGB", (400, 240), (255, 255, 255))
draw = ImageDraw.Draw(img)
fonts = {
"16": ImageFont.truetype("fnt/Aldrich-Regular.ttc", 16),
"20": ImageFont.truetype("fnt/Aldrich-Regular.ttc", 20),
"24": ImageFont.truetype("fnt/Aldrich-Regular.ttc", 24),
"28": ImageFont.truetype("fnt/Aldrich-Regular.ttc", 28),
}
w = FakeWidget({"show_credits": True, "label_5h": "5-Hour", "label_weekly": "Weekly"})
w.render(draw, fonts, 0, 0, 400, 240)
img.save("/tmp/minimax_fake.png")
print("saved /tmp/minimax_fake.png")