????

Your IP : 3.138.178.145


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/distlib/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/distlib/__pycache__/markers.cpython-311.pyc

�

�܋f����dZddlZddlZddlZddlZddlmZddlmZm	Z	ddl
mZdgZ
ejd��Zd	d
hZd�Zd�Zd
�ZGd�de��Zejd��Zd�Ze��Z[e��Zdd�ZdS)zG
Parser for the environment markers micro-language defined in PEP 508.
�N�)�string_types)�in_venv�parse_marker)�
LegacyVersion�	interpretz<((\d+(\.\d+)*\w*)|\'(\d+(\.\d+)*\w*)\'|\"(\d+(\.\d+)*\w*)\")�python_version�python_full_versionc�>�t|t��o|tvS�N)�
isinstancer�_VERSION_MARKERS��ss �`/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/distlib/markers.py�_is_version_markerrs���a��&�&�@�1�0@�+@�@�c�H�t|t��r|sdS|ddvS)NFr�'")r
r)�os r�_is_literalr#s.���a��&�&��a���u��Q�4�5�=�rc�J�d�t�|��D��S)Nc�\�h|])}t|���d����*S)r)�LV�groups)�.0�ms  r�	<setcomp>z _get_versions.<locals>.<setcomp>*s,��D�D�D�!�B�q�x�x�z�z�!�}���D�D�Dr)�_VERSION_PATTERN�finditerrs r�
_get_versionsr!)s%��D�D�'7�'@�'@��'C�'C�D�D�D�Drc
�N�eZdZdZd�d�d�d�d�d�d�d	�d
�d�d�d
�d�Zd�ZdS)�	Evaluatorz<
    This class is used to evaluate marker expressions.
    c��||kSr���x�ys  r�<lambda>zEvaluator.<lambda>3�
��1��6�rc��||kSrr%r&s  rr)zEvaluator.<lambda>4s
��A��F�rc��||kp||kSrr%r&s  rr)zEvaluator.<lambda>5���1��6�?�Q��U�rc��||kSrr%r&s  rr)zEvaluator.<lambda>6r*rc��||kSrr%r&s  rr)zEvaluator.<lambda>7�
��!�a�%�rc��||kp||kSrr%r&s  rr)zEvaluator.<lambda>8r-rc��||kSrr%r&s  rr)zEvaluator.<lambda>9r0rc��||kp||kSrr%r&s  rr)zEvaluator.<lambda>:r-rc�
�|o|Srr%r&s  rr)zEvaluator.<lambda>;s
��A�G�!�rc�
�|p|Srr%r&s  rr)zEvaluator.<lambda><s
��1�6��rc�
�||vSrr%r&s  rr)zEvaluator.<lambda>=s
��1��6�rc�
�||vSrr%r&s  rr)zEvaluator.<lambda>>s
��q��z�r)�==�===�~=�!=�<�<=�>�>=�and�or�in�not inc��t|t��r6|ddvr|dd�}�na||vrtd|z���||}�nAt|t��sJ�|d}||jvrtd|z���|d}|d	}t
|d��r-t
|d	��rtd
|�d|�d|�����|�||��}|�||��}t|��st|��r#|dvrt|��}t|��}n1t|��r"|d
vrt|��}t|��}|j|||��}|S)z�
        Evaluate a marker expression returned by the :func:`parse_requirement`
        function in the specified context.
        rrr���zunknown variable: %s�opzop not implemented: %s�lhs�rhszinvalid comparison: � )r<r=r>r?r9r8r;r:)rBrC)r
r�SyntaxError�dict�
operations�NotImplementedErrorr�evaluaterrr!)	�self�expr�context�resultrF�elhs�erhsrGrHs	         rrNzEvaluator.evaluateAs���
�d�L�)�)�	3��A�w�%����a��d�����w�&�&�%�&<�t�&C�D�D�D� ������d�D�)�)�)�)�)��d��B����(�(�)�*B�R�*G�H�H�H���;�D���;�D��4��;�'�'�
4�K��U��,D�,D�
4�!�k�#'�4�4����T�T�#3�4�4�4��-�-��g�.�.�C��-�-��g�.�.�C�#�D�)�)�
)�-?��-E�-E�
)��M�M�M���g�g����g�g���#�D�)�)�
)�b�4D�.D�.D���g�g��#�C�(�(��(�T�_�R�(��c�2�2�F��
rN)�__name__�
__module__�__qualname__�__doc__rLrNr%rrr#r#-s���������
"�!�"�"�*�*�!�!�
�
�*�*�
�
�*�*�#�#�!�!�!�!�)�)�
�
�J�!�!�!�!�!rr#z\d+\.\d+c
�<�d�}ttd��r,|tjj��}tjj}nd}d}tj��}t�|��}|�	d��}||tjtj��tj��tj
��tj��tj��tt!����||tjd�}|S)Nc��|j�d|j�d|j��}|j}|dkr ||dt	|j��zz
}|S)N�.�finalr)�major�minor�micro�releaselevel�str�serial)�info�version�kinds   r�format_full_versionz,default_context.<locals>.format_full_versionjsQ�� $�
�
�
�D�J�J�J��
�
�C��� ���7�?�?��t�A�w��T�[�!1�!1�1�1�G��r�implementation�0�r)�implementation_name�implementation_version�os_name�platform_machine�platform_python_implementation�platform_release�platform_system�platform_version�platform_in_venvr
r	�sys_platform)�hasattr�sysrgrd�name�platformr	�_DIGITS�match�group�os�machine�python_implementation�release�systemrar)rfrkrj�ppvr�pvrRs       r�default_contextr�hs�������s�$�%�%�!�!4�!4���&�"(�"(��!�0�5���!$�� ��
�
!�
#�
#�C��
�
�c���A�	
������B�2�"8��7�$�,�.�.�*2�*H�*J�*J�$�,�.�.�#�?�,�,�$�,�.�.���	�	�N�N�"����
�
�F��Mrc�J�	t|��\}}n'#t$r}td|�d|�����d}~wwxYw|r!|ddkrtd|�d|�����tt��}|r|�|��t�||��S)z�
    Interpret a marker and return a result depending on environment.

    :param marker: The marker to interpret.
    :type marker: str
    :param execution_context: The context used for name lookup.
    :type execution_context: mapping
    z#Unable to interpret marker syntax: z: Nr�#z$unexpected trailing data in marker: )r�	ExceptionrJrK�DEFAULT_CONTEXT�update�	evaluatorrN)�marker�execution_contextrP�rest�erQs      rrr�s���'�!�&�)�)�
��d�d���'�'�'��k�!�6�6�1�1�&�'�'�	'�����'�����*��Q��3����k�!�6�6�4�4�)�*�*�	*��?�#�#�G��*����(�)�)�)����d�G�,�,�,s��
9�4�9r)rXr{�rerurw�compatr�utilrrrdrr�__all__�compilerrrrr!�objectr#rxr�r�r�rr%rr�<module>r�sY����
�	�	�	�	�	�	�	�
�
�
�
����� � � � � � �'�'�'�'�'�'�'�'�(�(�(�(�(�(��-���2�:�C�E�E��$�&;�<��A�A�A����E�E�E�5�5�5�5�5��5�5�5�p�"�*�[�
!�
!��"�"�"�J"�/�#�#����I�K�K�	�-�-�-�-�-�-r