[views] implement a custom json error view
If the client asked for ``(e)jsonexport`` view, answer
him with a json response rather than an error formatted
in a big HTML blob.
add a custom _requested_vid predicate. In cw 3.21, it will
be deprecated in favor of ``match_form_params(vid=('jsonexport', 'ejsonexport'))``
from __future__ import absolute_import
import markdown
import logging
log = logging.getLogger(__name__)
def markdown_publish(context, data):
"""publish a string formatted as MarkDown Text to HTML
:type context: a cubicweb application object
:type data: str
:param data: some MarkDown text
:rtype: unicode
:return:
the data formatted as HTML or the original data if an error occurred
"""
md = markdown.Markdown()
try:
return md.convert(data)
except:
import traceback; traceback.print_exc()
log.exception("Error while converting Markdown to HTML")
return data