mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Merge pull request #478 from Textualize/devtools-line
line between logs
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user