????
Your IP : 3.22.234.133
�
%_q�����R�dZddlZddlmZddlmZmZmZgd�Zd�Z edfd�Z
d �ZdS)
z
Commonly useful converters.
�N�)�_AnnotationExtractor)�NOTHING�Factory�pipe)�default_if_none�optionalr�to_boolc�����fd�}t���}|���}|rtj||jd<|���}|rtj||jd<|S)aO
A converter that allows an attribute to be optional. An optional attribute
is one which can be set to ``None``.
Type annotations will be inferred from the wrapped converter's, if it
has any.
:param callable converter: the converter that is used for non-``None``
values.
.. versionadded:: 17.1.0
c�"��|�dS�|��S�N�)�val� converters ��`/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/attr/converters.py�optional_converterz$optional.<locals>.optional_converter$s����;��4��y��~�~��r�return)r�get_first_param_type�typing�Optional�__annotations__�get_return_type)rr�xtr�t�rts` rr r s���������
�y�
)�
)�C�� � �"�"�A��G�4:�O�A�4F��*�5�1� � � � � �B� �K�7=��r�7J��*�8�4��rc����tur|�td����tur|�td���|�t|���t�t��r�jrtd����fd�}n�fd�}|S)a�
A converter that allows to replace ``None`` values by *default* or the
result of *factory*.
:param default: Value to be used if ``None`` is passed. Passing an instance
of `attrs.Factory` is supported, however the ``takes_self`` option
is *not*.
:param callable factory: A callable that takes no parameters whose result
is used if ``None`` is passed.
:raises TypeError: If **neither** *default* or *factory* is passed.
:raises TypeError: If **both** *default* and *factory* are passed.
:raises ValueError: If an instance of `attrs.Factory` is passed with
``takes_self=True``.
.. versionadded:: 18.2.0
Nz(Must pass either `default` or `factory`.z5Must pass either `default` or `factory` but not both.z1`takes_self` is not supported by default_if_none.c�4��|�|S����Sr
)�factory�r�defaults �r�default_if_none_converterz2default_if_none.<locals>.default_if_none_converterYs������
��?�?�$�$�$rc���|�|S�Sr
rr s �rr"z2default_if_none.<locals>.default_if_none_converteras������
��Nr)r� TypeErrorr�
isinstance�
takes_self�
ValueError)r!rr"s` rrr6s����$�'���g�o��B�C�C�C��g���'�"5��C�
�
�
����'�"�"���'�7�#�#���� ��C���
� %� %� %� %� %� %� � � � � �%�$rc���t|t��r|���}hd�}hd�} ||vrdS||vrdSn#t$rYnwxYwt d|�����)a
Convert "boolean" strings (e.g., from env. vars.) to real booleans.
Values mapping to :code:`True`:
- :code:`True`
- :code:`"true"` / :code:`"t"`
- :code:`"yes"` / :code:`"y"`
- :code:`"on"`
- :code:`"1"`
- :code:`1`
Values mapping to :code:`False`:
- :code:`False`
- :code:`"false"` / :code:`"f"`
- :code:`"no"` / :code:`"n"`
- :code:`"off"`
- :code:`"0"`
- :code:`0`
:raises ValueError: for any other value.
.. versionadded:: 21.3.0
>T�1r�y�on�yes�true>F�0�f�n�no�off�falseTFzCannot convert value to bool: )r%�str�lowerr$r')r�truthy�falsys rr
r
js���4�#�s�����i�i�k�k��
:�
:�
:�F�;�;�;�E�
��&�=�=��4��%�<�<��5����
�
�
���
�����;�c�;�;�
<�
<�<s�A�A�
A
�A
)�__doc__r�_compatr�_makerrr�__all__r rr
rrr�<module>r<s�����
�
�
�
�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)��������@$�T�1%�1%�1%�1%�h&=�&=�&=�&=�&=r