diff options
author | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-04-13 16:05:04 +0200 |
---|---|---|
committer | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-04-13 16:05:04 +0200 |
commit | 99ec1c400d79ecc41ae1745e794e21e2e79d2add (patch) | |
tree | a20349bc3e5a1b20e0c8184f5aeb2f7c43a43194 /lib/Python/Lib/jinja2/_markupsafe/_native.py | |
parent | Merge branch 'stable' into 0.4.10 (diff) | |
download | pyload-99ec1c400d79ecc41ae1745e794e21e2e79d2add.tar.xz |
Move lib to lib/Python/Lib
Diffstat (limited to 'lib/Python/Lib/jinja2/_markupsafe/_native.py')
-rw-r--r-- | lib/Python/Lib/jinja2/_markupsafe/_native.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/Python/Lib/jinja2/_markupsafe/_native.py b/lib/Python/Lib/jinja2/_markupsafe/_native.py new file mode 100644 index 000000000..7b95828ec --- /dev/null +++ b/lib/Python/Lib/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 |