Index: third_party/jinja2/_markupsafe/_native.py |
diff --git a/third_party/jinja2/_markupsafe/_native.py b/third_party/jinja2/_markupsafe/_native.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7b95828ec87f7e7e2c8af4e5ce343eedbe3fa038 |
--- /dev/null |
+++ b/third_party/jinja2/_markupsafe/_native.py |
@@ -0,0 +1,45 @@ |
+# -*- coding: utf-8 -*- |
+""" |
+ markupsafe._native |
+ ~~~~~~~~~~~~~~~~~~ |
+ |
+ Native Python implementation the C module is not compiled. |
+ |
+ :copyright: (c) 2010 by Armin Ronacher. |
+ :license: BSD, see LICENSE for more details. |
+""" |
+from jinja2._markupsafe import Markup |
+ |
+ |
+def escape(s): |
+ """Convert the characters &, <, >, ' and " in string s to HTML-safe |
+ sequences. Use this if you need to display text that might contain |
+ such characters in HTML. Marks return value as markup string. |
+ """ |
+ if hasattr(s, '__html__'): |
+ return s.__html__() |
+ return Markup(unicode(s) |
+ .replace('&', '&') |
+ .replace('>', '>') |
+ .replace('<', '<') |
+ .replace("'", ''') |
+ .replace('"', '"') |
+ ) |
+ |
+ |
+def escape_silent(s): |
+ """Like :func:`escape` but converts `None` into an empty |
+ markup string. |
+ """ |
+ if s is None: |
+ return Markup() |
+ return escape(s) |
+ |
+ |
+def soft_unicode(s): |
+ """Make a string unicode if it isn't already. That way a markup |
+ string is not converted back to unicode. |
+ """ |
+ if not isinstance(s, unicode): |
+ s = unicode(s) |
+ return s |