From ec0a27694454f0765f63f9c762d42190759fd672 Mon Sep 17 00:00:00 2001 From: Erik Stein Date: Fri, 15 Sep 2017 16:35:01 +0200 Subject: [PATCH] Make sure conditional_punctuation can handle all value type (using force_text). --- utils/templatetags/text_tags.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/templatetags/text_tags.py b/utils/templatetags/text_tags.py index 1d82338..2bf878b 100644 --- a/utils/templatetags/text_tags.py +++ b/utils/templatetags/text_tags.py @@ -6,6 +6,7 @@ import re from django import template from django.template.defaultfilters import stringfilter +from django.utils.encoding import force_text from django.utils.html import conditional_escape from django.utils.safestring import mark_safe @@ -21,7 +22,7 @@ def conditional_punctuation(value, punctuation=",", space=" "): Appends punctuation if the (stripped) value is not empty and the value does not already end in a punctuation mark (.,:;!?). """ - value = value.strip() + value = force_text(value or "").strip() if value: if value[-1] not in ".,:;!?": value += conditional_escape(punctuation)