32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
#!/usr/bin/env python3
|
|
# PROTOTYPE helper — regenerate screenshots/*.svg via headless Textual run.
|
|
import asyncio
|
|
from tui_prototype import GraphPrototype
|
|
|
|
|
|
async def shot(app, size, presses, path):
|
|
async with app.run_test(size=size) as pilot:
|
|
for p in presses:
|
|
await pilot.press(p)
|
|
svg = app.export_screenshot()
|
|
with open(path, "w") as fh:
|
|
fh.write(svg)
|
|
print("wrote", path)
|
|
|
|
|
|
async def main():
|
|
for w, h in ((80, 24), (140, 40)):
|
|
for v in "ABC":
|
|
presses = ["]"] * "ABC".index(v)
|
|
await shot(GraphPrototype(), (w, h), presses,
|
|
"screenshots/v%s_%dx%d_range.svg" % (v, w, h))
|
|
# drill-down detail (variant A) and a mid-range selection (variant B)
|
|
await shot(GraphPrototype(), (80, 24), ["left", "enter"],
|
|
"screenshots/vA_80x24_hourly-detail.svg")
|
|
await shot(GraphPrototype(), (140, 40), ["]", "left", "left"],
|
|
"screenshots/vB_140x40_selected-gap-day.svg")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|