preview.py
38 lines
| 925 B
| text/x-python
|
PythonLexer
neko259
|
r825 | from django.shortcuts import render | ||
from django.template import RequestContext | ||||
from django.views.generic import View | ||||
neko259
|
r1066 | from boards.mdx_neboard import Parser | ||
neko259
|
r825 | |||
FORM_QUERY = 'query' | ||||
CONTEXT_RESULT = 'result' | ||||
CONTEXT_QUERY = 'query' | ||||
__author__ = 'neko259' | ||||
TEMPLATE = 'boards/preview.html' | ||||
class PostPreviewView(View): | ||||
def get(self, request): | ||||
context = RequestContext(request) | ||||
neko259
|
r872 | # TODO Use dict here | ||
return render(request, TEMPLATE, context_instance=context) | ||||
neko259
|
r825 | |||
def post(self, request): | ||||
neko259
|
r1090 | params = dict() | ||
neko259
|
r825 | |||
if FORM_QUERY in request.POST: | ||||
raw_text = request.POST[FORM_QUERY] | ||||
if len(raw_text) >= 0: | ||||
neko259
|
r1066 | parser = Parser() | ||
rendered_text = parser.parse(parser.preparse(raw_text)) | ||||
neko259
|
r825 | |||
neko259
|
r1090 | params[CONTEXT_RESULT] = rendered_text | ||
params[CONTEXT_QUERY] = raw_text | ||||
neko259
|
r825 | |||
neko259
|
r1090 | return render(request, TEMPLATE, params) | ||