| OLD | NEW |
| (Empty) |
| 1 # -*- coding: utf-8 -*- | |
| 2 """ | |
| 3 markupsafe._native | |
| 4 ~~~~~~~~~~~~~~~~~~ | |
| 5 | |
| 6 Native Python implementation the C module is not compiled. | |
| 7 | |
| 8 :copyright: (c) 2010 by Armin Ronacher. | |
| 9 :license: BSD, see LICENSE for more details. | |
| 10 """ | |
| 11 from jinja2._markupsafe import Markup | |
| 12 | |
| 13 | |
| 14 def escape(s): | |
| 15 """Convert the characters &, <, >, ' and " in string s to HTML-safe | |
| 16 sequences. Use this if you need to display text that might contain | |
| 17 such characters in HTML. Marks return value as markup string. | |
| 18 """ | |
| 19 if hasattr(s, '__html__'): | |
| 20 return s.__html__() | |
| 21 return Markup(unicode(s) | |
| 22 .replace('&', '&') | |
| 23 .replace('>', '>') | |
| 24 .replace('<', '<') | |
| 25 .replace("'", ''') | |
| 26 .replace('"', '"') | |
| 27 ) | |
| 28 | |
| 29 | |
| 30 def escape_silent(s): | |
| 31 """Like :func:`escape` but converts `None` into an empty | |
| 32 markup string. | |
| 33 """ | |
| 34 if s is None: | |
| 35 return Markup() | |
| 36 return escape(s) | |
| 37 | |
| 38 | |
| 39 def soft_unicode(s): | |
| 40 """Make a string unicode if it isn't already. That way a markup | |
| 41 string is not converted back to unicode. | |
| 42 """ | |
| 43 if not isinstance(s, unicode): | |
| 44 s = unicode(s) | |
| 45 return s | |
| OLD | NEW |