birdcage/tui/scripts/take_screenshots.py

35 lines
844 B
Python
Raw Normal View History

"""Take screenshots of all TUI screens in demo mode for documentation."""
import asyncio
from birdcage_tui.app import BirdcageApp
SCREENS = {
"f1": "dashboard",
"f2": "control",
"f3": "signal",
"f4": "system",
}
OUT_DIR = "/home/rpm/claude/ham/satellite/winegard-travler/site/public/screenshots"
async def main():
for key, name in SCREENS.items():
app = BirdcageApp()
app.demo_mode = True
async with app.run_test(size=(120, 40)) as pilot:
await pilot.pause()
await pilot.press(key)
await pilot.pause()
# Let workers populate data.
await asyncio.sleep(1.5)
path = f"{OUT_DIR}/tui-{name}.svg"
app.save_screenshot(path)
print(f"Saved {path}")
asyncio.run(main())