1
0
mirror of https://github.com/django/django.git synced 2025-10-26 15:16:09 +00:00

Fixed #14288 -- Fixed linebreaksbr template filter to normalize newlines first. Thanks, Julien Phalip.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16573 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jannis Leidel
2011-07-29 10:22:25 +00:00
parent 0fbadfd1c8
commit 343b4f1ea5
3 changed files with 19 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ from django.utils.safestring import SafeData, mark_safe
from django.utils.encoding import force_unicode
from django.utils.functional import allow_lazy
from django.utils.http import urlquote
from django.utils.text import normalize_newlines
# Configuration for urlize() function.
LEADING_PUNCTUATION = ['(', '<', '&lt;']
@@ -70,7 +71,7 @@ def conditional_escape(html):
def linebreaks(value, autoescape=False):
"""Converts newlines into <p> and <br />s."""
value = re.sub(r'\r\n|\r|\n', '\n', force_unicode(value)) # normalize newlines
value = normalize_newlines(value)
paras = re.split('\n{2,}', value)
if autoescape:
paras = [u'<p>%s</p>' % escape(p).replace('\n', '<br />') for p in paras]