From c28beb429107956f8bde8053936502124c964bec Mon Sep 17 00:00:00 2001 From: Tomasz Wysocki Date: Thu, 3 Apr 2014 08:59:06 +0200 Subject: [PATCH] Refactored and commented strip_tags utility --- django/utils/html.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/django/utils/html.py b/django/utils/html.py index cf1c0c19e5..7c843cf25e 100644 --- a/django/utils/html.py +++ b/django/utils/html.py @@ -162,15 +162,15 @@ def _strip_once(value): def strip_tags(value): """Returns the given HTML with all tags stripped.""" - while True: - if not ('<' in value or '>' in value): - return value + # Note: in typical case this loop executes _strip_once once. Loop condition + # is redundant, but helps to reduce number of executions of _strip_once. + while '<' in value and '>' in value: new_value = _strip_once(value) if new_value == value: # _strip_once was not able to detect more tags - return value - else: - value = new_value + break + value = new_value + return value strip_tags = allow_lazy(strip_tags)