23 lines
810 B
Python
23 lines
810 B
Python
from django.template import RequestContext
|
|
from django.http import HttpResponse
|
|
from django.template import loader
|
|
from pygments import highlight
|
|
from pygments.lexers import get_lexer_by_name
|
|
from pygments.formatters import HtmlFormatter
|
|
|
|
|
|
def render_pygments(request, paste, data):
|
|
"""Renders Pygments template."""
|
|
lexer = get_lexer_by_name(paste.language.slug)
|
|
formatter = HtmlFormatter(style="emacs")
|
|
highlighted_content = highlight(paste.content, lexer, formatter)
|
|
data["paste"] = paste
|
|
data["highlighted"] = highlighted_content
|
|
rendered = loader.render_to_string("paste/show-pygments.html", data, request)
|
|
return HttpResponse(rendered)
|
|
|
|
|
|
def render_raw(request, paste, data):
|
|
"""Renders RAW content."""
|
|
return HttpResponse(paste.content, content_type="text/plain")
|