Merge pull request #478 from Textualize/devtools-line

line between logs
This commit is contained in:
Will McGugan
2022-05-05 15:10:05 +01:00
committed by GitHub

View File

@@ -6,6 +6,7 @@ import base64
import json import json
import pickle import pickle
from json import JSONDecodeError from json import JSONDecodeError
from time import time
from typing import cast from typing import cast
from aiohttp import WSMessage, WSMsgType from aiohttp import WSMessage, WSMsgType
@@ -157,6 +158,7 @@ class ClientHandler:
"""Consume messages from the incoming (client -> server) Queue, and print """Consume messages from the incoming (client -> server) Queue, and print
the corresponding renderables to the console for each message. the corresponding renderables to the console for each message.
""" """
last_message_time: float | None = None
while True: while True:
message_json = await self.incoming_queue.get() message_json = await self.incoming_queue.get()
if message_json is None: if message_json is None:
@@ -171,6 +173,13 @@ class ClientHandler:
encoded_segments = message_json["payload"]["encoded_segments"] encoded_segments = message_json["payload"]["encoded_segments"]
decoded_segments = base64.b64decode(encoded_segments) decoded_segments = base64.b64decode(encoded_segments)
segments = pickle.loads(decoded_segments) segments = pickle.loads(decoded_segments)
message_time = time()
if (
last_message_time is not None
and message_time - last_message_time > 1
):
# Print a rule if it has been longer than a second since the last message
self.service.console.rule("")
self.service.console.print( self.service.console.print(
DevConsoleLog( DevConsoleLog(
segments=segments, segments=segments,
@@ -179,6 +188,7 @@ class ClientHandler:
unix_timestamp=timestamp, unix_timestamp=timestamp,
) )
) )
last_message_time = message_time
elif type == "client_spillover": elif type == "client_spillover":
spillover = int(message_json["payload"]["spillover"]) spillover = int(message_json["payload"]["spillover"])
info_renderable = DevConsoleNotice( info_renderable = DevConsoleNotice(