import asyncio import json import websockets ENDPOINT = "ws://localhost:8000/ipmi/computer/8b9faf9f-9470-4a50-b405-0af5f0152550/ws" def gen_payload(tick: int): return { "x": 3, "y": 4, "width": 39, "height": 13, "blink": True, "fg": 0, "text": [ "[WS] OK\u0003 ", "FG 0123456789ABCDEF ", "BG 0123456789ABCDEF ", " ", f"Tick: {tick:8d} ", " ", " ", " ", " ", " ", " ", " ", " ", ], "fg_color": [ "78870dd50000000000000000000000000000000", "0000123456789abcdef00000000000000000000", "000f00000000000000000000000000000000000", "440000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", "000000000000000000000000000000000000000", ], "bg_color": [ "fffffffffffffffffffffffffffffffffffffff", "ffffffffffffffffff0ffffffffffffffffffff", "fff0123456789abcdefffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", "fffffffffffffffffffffffffffffffffffffff", ], "palette": [ 15790320, 15905331, 15040472, 10072818, 14605932, 8375321, 15905484, 5000268, 10066329, 5020082, 11691749, 3368652, 8349260, 5744206, 13388876, 1118481, ], } async def main(): tick = 0 async with websockets.connect(ENDPOINT) as socket: while True: await socket.send(json.dumps({"screen": gen_payload(tick)})) await asyncio.sleep(1 / 20) tick += 1 if __name__ == "__main__": try: asyncio.run(main()) except KeyboardInterrupt: print("this handler gets it")