diff options
| author | 2018-08-07 15:09:08 +0100 | |
|---|---|---|
| committer | 2018-08-07 15:09:16 +0100 | |
| commit | af54db6c136138c66cf5ca72419989525a0baa5c (patch) | |
| tree | 8519aeab8d45277c51797c7dc23aacf3b56ed1bb /pysite/views/ws | |
| parent | A wizard is never late, nor is he early. (diff) | |
Initial project layout for django
Diffstat (limited to 'pysite/views/ws')
| -rw-r--r-- | pysite/views/ws/__init__.py | 0 | ||||
| -rw-r--r-- | pysite/views/ws/bot.py | 56 | ||||
| -rw-r--r-- | pysite/views/ws/echo.py | 25 | ||||
| -rw-r--r-- | pysite/views/ws/rst.py | 33 |
4 files changed, 0 insertions, 114 deletions
diff --git a/pysite/views/ws/__init__.py b/pysite/views/ws/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/pysite/views/ws/__init__.py +++ /dev/null diff --git a/pysite/views/ws/bot.py b/pysite/views/ws/bot.py deleted file mode 100644 index 816e7579..00000000 --- a/pysite/views/ws/bot.py +++ /dev/null @@ -1,56 +0,0 @@ -import json -import logging - -from geventwebsocket.websocket import WebSocket - -from pysite.constants import BOT_API_KEY -from pysite.mixins import DBMixin -from pysite.websockets import WS - - -class BotWebsocket(WS, DBMixin): - path = "/bot" - name = "ws.bot" - table_name = "bot_events" - - do_changefeed = True - - def __init__(self, socket: WebSocket): - super().__init__(socket) - self.log = logging.getLogger() - - def on_open(self): - self.log.debug("Bot | WS opened.") - - def on_message(self, message): - self.log.debug(f"Bot | Message: {message}") - - try: - message = json.loads(message) - except json.JSONDecodeError: - self.send_json({"error": "Message was not valid JSON"}) - return self.socket.close() - - action = message["action"] - - if action == "login": - if message["key"] != BOT_API_KEY: - return self.socket.close() - - self.do_changefeed = True - - for document in self.db.changes(self.table_name, include_initial=True, include_types=True): - if not self.do_changefeed: - break - - if document["type"] not in ["add", "initial"]: - continue - - self.send_json({"action": "event", "event": document["new_val"]}) - self.db.delete(self.table_name, document["id"]) - - self.send_json({"error": f"Unknown action: {action}"}) - - def on_close(self): - self.log.debug("Bot | WS closed.") - self.do_changefeed = False diff --git a/pysite/views/ws/echo.py b/pysite/views/ws/echo.py deleted file mode 100644 index b6f11168..00000000 --- a/pysite/views/ws/echo.py +++ /dev/null @@ -1,25 +0,0 @@ -import logging - -from geventwebsocket.websocket import WebSocket - -from pysite.websockets import WS - - -class EchoWebsocket(WS): - path = "/echo" - name = "ws.echo" - - def __init__(self, socket: WebSocket): - super().__init__(socket) - self.log = logging.getLogger() - - def on_open(self): - self.log.debug("Echo | WS opened.") - self.send("Hey, welcome!") - - def on_message(self, message): - self.log.debug(f"Echo | Message: {message}") - self.send(message) - - def on_close(self): - self.log.debug("Echo | WS closed.") diff --git a/pysite/views/ws/rst.py b/pysite/views/ws/rst.py deleted file mode 100644 index f2b2db24..00000000 --- a/pysite/views/ws/rst.py +++ /dev/null @@ -1,33 +0,0 @@ -import logging - -from geventwebsocket.websocket import WebSocket - -from pysite.rst import render -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}") - - try: - data = render(message)["html"] - except Exception as e: - self.log.exception("Parsing error") - data = str(e) - - self.send(data) - - def on_close(self): - self.log.debug("RST | WS closed.") |