
    q\Q                     4    d Z ddlmZ ddlmZ d Zd Zd ZdS )z
markupsafe._native
~~~~~~~~~~~~~~~~~~

Native Python implementation used when the C module is not compiled.

:copyright: 2010 Pallets
:license: BSD-3-Clause
   )Markup)	text_typec                 d   t          | d          r!t          |                                           S t          t          |                               dd                              dd                              dd                              dd	                              d
d                    S )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&amp;>z&gt;<z&lt;'z&#39;"z&#34;)hasattrr   r   r   replacess    W/var/www/book.euthymeo.com/html/venv/lib/python3.11/site-packages/markupsafe/_native.pyescaper      s     q* $ajjll###!	g			f			f			g			g		      c                 @    | t                      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('')
    )r   r   r   s    r   escape_silentr   &   s     	yxx!99r   c                 N    t          | t                    st          |           } | 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('&lt;User 1&gt;')
    >>> escape(str(value))
    Markup('&amp;lt;User 1&amp;gt;')
    >>> escape(soft_unicode(value))
    Markup('&lt;User 1&gt;')
    )
isinstancer   r   s    r   soft_unicoder   5   s&     a## aLLHr   N)__doc__ r   _compatr   r   r   r    r   r   <module>r      sl                  .      r   