mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Merge branch 'main' into breaking_changes
# Conflicts: # MultiClient.py # WebUI.py
This commit is contained in:
27
WebUI.py
27
WebUI.py
@@ -1,6 +1,7 @@
|
||||
import http.server
|
||||
import logging
|
||||
import json
|
||||
import typing
|
||||
import socket
|
||||
import socketserver
|
||||
import threading
|
||||
@@ -12,36 +13,20 @@ from NetUtils import Node
|
||||
from MultiClient import Context
|
||||
import Utils
|
||||
|
||||
logger = logging.getLogger("WebUIRelay")
|
||||
|
||||
|
||||
class WebUiClient(Node):
|
||||
class WebUiClient(Node, logging.Handler):
|
||||
loader = staticmethod(json.loads)
|
||||
dumper = staticmethod(json.dumps)
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
super(WebUiClient, self).__init__()
|
||||
self.manual_snes = None
|
||||
|
||||
@staticmethod
|
||||
def build_message(msg_type: str, content: dict) -> dict:
|
||||
def build_message(msg_type: str, content: typing.Union[str, dict]) -> dict:
|
||||
return {'type': msg_type, 'content': content}
|
||||
|
||||
def log_info(self, message, *args, **kwargs):
|
||||
self.broadcast_all(self.build_message('info', message))
|
||||
logger.info(message, *args, **kwargs)
|
||||
|
||||
def log_warning(self, message, *args, **kwargs):
|
||||
self.broadcast_all(self.build_message('warning', message))
|
||||
logger.warning(message, *args, **kwargs)
|
||||
|
||||
def log_error(self, message, *args, **kwargs):
|
||||
self.broadcast_all(self.build_message('error', message))
|
||||
logger.error(message, *args, **kwargs)
|
||||
|
||||
def log_critical(self, message, *args, **kwargs):
|
||||
self.broadcast_all(self.build_message('critical', message))
|
||||
logger.critical(message, *args, **kwargs)
|
||||
def emit(self, record: logging.LogRecord) -> None:
|
||||
self.broadcast_all({"type": record.levelname.lower(), "content": str(record.msg)})
|
||||
|
||||
def send_chat_message(self, message):
|
||||
self.broadcast_all(self.build_message('chat', message))
|
||||
|
Reference in New Issue
Block a user