pasteque/paste/renderers.py

23 lines
810 B
Python
Raw Normal View History

2013-04-04 17:37:30 +00:00
from django.template import RequestContext
2018-05-07 21:15:23 +00:00
from django.http import HttpResponse
from django.template import loader
2013-04-04 17:37:30 +00:00
from pygments import highlight
from pygments.lexers import get_lexer_by_name
2018-05-12 21:46:31 +00:00
from pygments.formatters import HtmlFormatter
2013-04-04 17:37:30 +00:00
def render_pygments(request, paste, data):
"""Renders Pygments template."""
2023-04-21 07:24:26 +00:00
lexer = get_lexer_by_name(paste.language.slug)
formatter = HtmlFormatter(style="emacs")
highlighted_content = highlight(paste.content, lexer, formatter)
2020-05-31 13:33:59 +00:00
data["paste"] = paste
data["highlighted"] = highlighted_content
rendered = loader.render_to_string("paste/show-pygments.html", data, request)
2018-05-07 21:15:23 +00:00
return HttpResponse(rendered)
2013-04-04 17:37:30 +00:00
def render_raw(request, paste, data):
"""Renders RAW content."""
2020-05-31 13:33:59 +00:00
return HttpResponse(paste.content, content_type="text/plain")