3
Y'íc ã @ sf d dl ZddlmZ ejedddZejej edddZejedd d
Z ejedddZ
dS )
é Né )ÚMarkup)ÚsÚreturnc C sJ t | drt| j S tt| jddjddjddjdd jd
dS )a¾ Replace the characters ``&``, ``<``, ``>``, ``'``, and ``"`` in
the string with HTML-safe sequences. Use this if you need to display
text that might contain such characters in HTML.
If the object has an ``__html__`` method, it is called and the
return value is assumed to already be safe for HTML.
:param s: An object to be converted to a string and escaped.
:return: A :class:`Markup` string with the escaped text.
Ú__html__ú&z&ú>z>ú<z<ú'z'ú"z")Úhasattrr r ÚstrÚreplace)r © r ú8/tmp/pip-build-gk9425m9/MarkupSafe/markupsafe/_native.pyÚescape s
r c C s | dkrt S t| S )a Like :func:`escape` but treats ``None`` as the empty string.
Useful with optional values, as otherwise you get the string
``'None'`` when the value is ``None``.
>>> escape(None)
Markup('None')
>>> escape_silent(None)
Markup('')
N)r r )r r r r Ú
escape_silent s
r c C s t | tst| S | S )a¨ Convert an object to a string if it isn't already. This preserves
a :class:`Markup` string rather than converting it back to a basic
string, so it will still be marked as safe and won't be escaped
again.
>>> value = escape("<User 1>")
>>> value
Markup('<User 1>')
>>> escape(str(value))
Markup('&lt;User 1&gt;')
>>> escape(soft_str(value))
Markup('<User 1>')
)Ú
isinstancer