summaryrefslogtreecommitdiff
path: root/django/utils/html.py
diff options
context:
space:
mode:
authorUnai Zalakain <unai@gisa-elkartea.org>2013-10-15 00:40:52 +0200
committerUnai Zalakain <unai@gisa-elkartea.org>2013-10-15 00:42:42 +0200
commitaf64429b991471b7a441e133b5b7d29070984f24 (patch)
treec425d99ae3e8ee7c4b1d856010c577ae27021b27 /django/utils/html.py
parentef22d512b54cbf0b5f76151bc760391d839fbf72 (diff)
Fixed #7261 -- support for __html__ for library interoperability
The idea is that if an object implements __html__ which returns a string this is used as HTML representation (eg: on escaping). If the object is a str or unicode subclass and returns itself the object is a safe string type. This is an updated patch based on jbalogh and ivank patches.
Diffstat (limited to 'django/utils/html.py')
-rw-r--r--django/utils/html.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/django/utils/html.py b/django/utils/html.py
index 75eff0083d..825f139070 100644
--- a/django/utils/html.py
+++ b/django/utils/html.py
@@ -65,8 +65,8 @@ def conditional_escape(text):
"""
Similar to escape(), except that it doesn't operate on pre-escaped strings.
"""
- if isinstance(text, SafeData):
- return text
+ if hasattr(text, '__html__'):
+ return text.__html__()
else:
return escape(text)