From 1d1e17f7f19203d449c8641794cd2c61705fdcd2 Mon Sep 17 00:00:00 2001 From: Gareth Coles Date: Wed, 4 Apr 2018 16:09:05 +0100 Subject: Early wiki work including a WS test route for RST parsing --- pysite/views/ws/rst.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 pysite/views/ws/rst.py (limited to 'pysite/views/ws/rst.py') diff --git a/pysite/views/ws/rst.py b/pysite/views/ws/rst.py new file mode 100644 index 00000000..c85c10a0 --- /dev/null +++ b/pysite/views/ws/rst.py @@ -0,0 +1,27 @@ +# coding=utf-8 +import logging + +from docutils.core import publish_parts +from geventwebsocket.websocket import WebSocket + +from pysite.websockets import WS + + +class RSTWebsocket(WS): + path = "/rst" + name = "ws.rst" + + def __init__(self, socket: WebSocket): + super().__init__(socket) + self.log = logging.getLogger() + + def on_open(self): + self.log.debug("RST | WS opened.") + self.send("Hey, welcome!") + + def on_message(self, message): + self.log.debug(f"RST | Message: {message}") + self.send(publish_parts(source=message, writer_name="html5")["html_body"]) + + def on_close(self): + self.log.debug("RST | WS closed.") -- cgit v1.2.3