| 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
|
|
|