aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/views
diff options
context:
space:
mode:
authorGravatar Gareth Coles <[email protected]>2018-04-09 14:53:56 +0100
committerGravatar Gareth Coles <[email protected]>2018-04-09 14:53:56 +0100
commit0dc85de66d84d51bff4260f3fefcc8b2251d12e6 (patch)
treee12352a8ff3a961a36b1bbaa3d980a0c79d4d92b /pysite/views
parent[Wiki] Fix editor (diff)
Abstract rst away and add icon directive
Diffstat (limited to 'pysite/views')
-rw-r--r--pysite/views/wiki/edit.py6
-rw-r--r--pysite/views/wiki/render.py7
-rw-r--r--pysite/views/ws/rst.py6
3 files changed, 7 insertions, 12 deletions
diff --git a/pysite/views/wiki/edit.py b/pysite/views/wiki/edit.py
index 0a0af15b..a111f9ce 100644
--- a/pysite/views/wiki/edit.py
+++ b/pysite/views/wiki/edit.py
@@ -1,5 +1,4 @@
# coding=utf-8
-from docutils.core import publish_parts
from flask import request, url_for
from werkzeug.utils import redirect
@@ -7,6 +6,7 @@ from pysite.base_route import RouteView
from pysite.constants import EDITOR_ROLES
from pysite.decorators import csrf, require_roles
from pysite.mixins import DBMixin
+from pysite.rst import render
class EditView(RouteView, DBMixin):
@@ -39,9 +39,7 @@ class EditView(RouteView, DBMixin):
"slug": page,
"title": request.form["title"],
"rst": rst,
- "html": publish_parts(
- source=rst, writer_name="html5", settings_overrides={"halt_level": 2}
- )["html_body"]
+ "html": render(rst)
}
self.db.insert(
diff --git a/pysite/views/wiki/render.py b/pysite/views/wiki/render.py
index 131db1d3..aa365c4a 100644
--- a/pysite/views/wiki/render.py
+++ b/pysite/views/wiki/render.py
@@ -1,7 +1,6 @@
# coding=utf-8
import re
-from docutils.core import publish_parts
from docutils.utils import SystemMessage
from flask import jsonify
from schema import Schema
@@ -9,6 +8,7 @@ from schema import Schema
from pysite.base_route import APIView
from pysite.constants import EDITOR_ROLES, ValidationTypes
from pysite.decorators import api_params, csrf, require_roles
+from pysite.rst import render
SCHEMA = Schema([{
"data": str
@@ -30,9 +30,7 @@ class RenderView(APIView):
data = data[0]["data"]
try:
- html = publish_parts(
- source=data, writer_name="html5", settings_overrides={"halt_level": 2}
- )["html_body"]
+ html = render(data)
return jsonify({"data": html})
except SystemMessage as e:
@@ -60,6 +58,7 @@ class RenderView(APIView):
}
)
+ print(data)
return jsonify(data)
except Exception as e:
return jsonify({"error": str(e)})
diff --git a/pysite/views/ws/rst.py b/pysite/views/ws/rst.py
index cdc45db5..19c4129b 100644
--- a/pysite/views/ws/rst.py
+++ b/pysite/views/ws/rst.py
@@ -1,9 +1,9 @@
# coding=utf-8
import logging
-from docutils.core import publish_parts
from geventwebsocket.websocket import WebSocket
+from pysite.rst import render
from pysite.websockets import WS
@@ -23,9 +23,7 @@ class RSTWebsocket(WS):
self.log.debug(f"RST | Message: {message}")
try:
- data = publish_parts(
- source=message, writer_name="html5", settings_overrides={"traceback": True, "halt_level": 2}
- )["html_body"]
+ data = render(message)
except Exception as e:
self.log.exception("Parsing error")
data = str(e)