plain text highlighting

This commit is contained in:
Ludovic Stephan 2017-01-19 01:42:00 -02:00
parent 88aec52141
commit eff37f6c89

View file

@ -1,22 +1,23 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import (absolute_import, division,
print_function, unicode_literals)
from builtins import *
from django import template from django import template
from django.utils.html import escape from django.utils.html import escape
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.core.cache import cache
from kfet.models import Settings from kfet.models import Settings
import re import re
register = template.Library() register = template.Library()
@register.filter()
def highlight_text(text, q): def highlight_text(text, q):
q2 = "|".join(q.split()) q2 = "|".join(q.split())
pattern = re.compile(r"(?P<filter>%s)" % q2, re.IGNORECASE) pattern = re.compile(r"(?P<filter>%s)" % q2, re.IGNORECASE)
return mark_safe(re.sub(pattern, r"<span class='highlight_autocomplete'>\g<filter></span>", text)) return mark_safe(
re.sub(pattern,
r"<span class='highlight_autocomplete'>\g<filter></span>",
escape(text)))
@register.filter(is_safe=True) @register.filter(is_safe=True)
def highlight_user(user, q): def highlight_user(user, q):
@ -24,7 +25,8 @@ def highlight_user(user, q):
text = "%s %s (%s)" % (user.first_name, user.last_name, user.username) text = "%s %s (%s)" % (user.first_name, user.last_name, user.username)
else: else:
text = user.username text = user.username
return highlight_text(escape(text), q) return highlight_text(text, q)
@register.filter(is_safe=True) @register.filter(is_safe=True)
def highlight_clipper(clipper, q): def highlight_clipper(clipper, q):
@ -32,7 +34,8 @@ def highlight_clipper(clipper, q):
text = "%s (%s)" % (clipper.fullname, clipper.username) text = "%s (%s)" % (clipper.fullname, clipper.username)
else: else:
text = clipper.username text = clipper.username
return highlight_text(escape(text), q) return highlight_text(text, q)
@register.filter() @register.filter()
def ukf(balance, is_cof): def ukf(balance, is_cof):