aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/views/wiki/source.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysite/views/wiki/source.py')
-rw-r--r--pysite/views/wiki/source.py42
1 files changed, 0 insertions, 42 deletions
diff --git a/pysite/views/wiki/source.py b/pysite/views/wiki/source.py
deleted file mode 100644
index 83674447..00000000
--- a/pysite/views/wiki/source.py
+++ /dev/null
@@ -1,42 +0,0 @@
-from flask import redirect, url_for
-from pygments import highlight
-from pygments.formatters.html import HtmlFormatter
-from pygments.lexers import get_lexer_by_name
-from werkzeug.exceptions import NotFound
-
-from pysite.base_route import RouteView
-from pysite.constants import DEBUG_MODE, EDITOR_ROLES
-from pysite.mixins import DBMixin
-
-
-class PageView(RouteView, DBMixin):
- path = "/source/<path:page>" # "path" means that it accepts slashes
- name = "source"
- table_name = "wiki"
-
- def get(self, page):
- obj = self.db.get(self.table_name, page)
-
- if obj is None:
- if self.is_staff():
- return redirect(url_for("wiki.edit", page=page, can_edit=False))
-
- raise NotFound()
-
- rst = obj["rst"]
- rst = highlight(rst, get_lexer_by_name("rst"), HtmlFormatter(preclass="code", linenos="inline"))
- return self.render("wiki/page_source.html", page=page, data=obj, rst=rst, can_edit=self.is_staff())
-
- def is_staff(self):
- if DEBUG_MODE:
- return True
- if not self.logged_in:
- return False
-
- roles = self.user_data.get("roles", [])
-
- for role in roles:
- if role in EDITOR_ROLES:
- return True
-
- return False