def process_message(self) -> None:
"""Called when a full line has been read from the socket
"""
message = b''.join(self.rbuffer)
self.rbuffer = []
try:
data = sublime.decode_value(message.decode('utf8'))
except (NameError, ValueError):
data = json.loads(message.replace(b'\t', b' ' * 8).decode('utf8'))
callback = self.pop_callback(data.pop('uid'))
if callback is None:
logger.error(
'Received {} from the JSONServer but there is not callback '
'to handle it. Aborting....'.format(message)
)
try:
callback(data)
except Exception as error:
logging.error(error)
for traceback_line in traceback.format_exc().splitlines():
logging.error(traceback_line)
评论列表
文章目录