Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc

�

4Μg����ddlmZddlZddlmZmZmZmZddlm	Z	m
Z
ddlmZm
Z
eedeeeffZede�ZGd	�d
e�ZGd�de�ZGd
�de�Zej,dej.�Zej,d�Zej,d�Zej,d�Zdd�dd�Zdd�Zdd�					dd�Z				dd�Zd d�Z y)!�)�annotationsN)�NewType�Tuple�Union�cast�)�Tag�	parse_tag)�InvalidVersion�Version��NormalizedNamec��eZdZdZy)�InvalidNamezW
    An invalid distribution name; users should refer to the packaging user guide.
    N��__name__�
__module__�__qualname__�__doc__r
��F/usr/local/lib/python3.12/site-packages/pip/_vendor/packaging/utils.pyrr���rrc��eZdZdZy)�InvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    Nrr
rrrrrrrc��eZdZdZy)�InvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nrr
rrrrrrrz)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[-_.]+z/^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$z	(\d+)(.*)F)�validatec��|r#tj|�std|����tj	d|�j�}t
t|�S)Nzname is invalid: �-)�_validate_regex�matchr�_canonicalize_regex�sub�lowerrr)�namer�values   r�canonicalize_namer'-sM����-�-�d�3��-�d�X�6�7�7��#�#�C��.�4�4�6�E����&�&rc�0�tj|�duS�N)�_normalized_regexr!)r%s r�is_normalized_namer+5s���"�"�4�(��4�4rT)�strip_trailing_zeroc���t|t�r
	t|�}n|}g}|jdk7r|j|j�d��dj
d�|jD��}|rtjdd|�}|j|�|j�1|jdj
d�|jD���|j�|jd|j���|j�|jd	|j���|j�|jd
|j���dj
|�S#t$r|cYSwxYw)z�
    This is very similar to Version.__str__, but has one subtle difference
    with the way it handles the release segment.
    r�!�.c3�2K�|]}t|����y�wr)��str��.0�xs  r�	<genexpr>z'canonicalize_version.<locals>.<genexpr>Ps����>�~�!�s�1�v�~���z(\.0)+$�c3�2K�|]}t|����y�wr)r1r3s  rr6z'canonicalize_version.<locals>.<genexpr>Xs����8�Z��S��V�Z�r7z.postz.dev�+)�
isinstancer2rr�epoch�append�join�release�rer#�pre�post�dev�local)�versionr,�parsed�parts�release_segments     r�canonicalize_versionrI9sB���'�3��	��W�%�F�
���E��|�|�q��
������~�Q�'�(��h�h�>�v�~�~�>�>�O���&�&��R��A��	�L�L��!��z�z��
���R�W�W�8�V�Z�Z�8�8�9��{�{��
���u�V�[�[�M�*�+��z�z��
���t�F�J�J�<�(�)��|�|��
���q�����'�(�
�7�7�5�>���G�	��N�	�s�E'�'E5�4E5c��|jd�std|����|dd}|jd�}|dvrtd|����|jd|dz
�}|d}d	|vs%t	j
d
|tj��td|����t|�}	t|d�}|dk(rh|d}tj|�}|�td|�d|�d���ttt|jd��|jd�f�}	nd}	t|d�}
|||	|
fS#t$r}td
|���|�d}~wwxYw)Nz.whlz3Invalid wheel filename (extension must be '.whl'): ���r)��z0Invalid wheel filename (wrong number of parts): �r�__z^[\w\d._]*$zInvalid project name: rz*Invalid wheel filename (invalid version): rMzInvalid build number: z in '�'r
���)�endswithr�count�splitr@r!�UNICODEr'rr�_build_tag_regexr�BuildTag�int�groupr
)�filename�dashesrG�	name_partr%rE�e�
build_part�build_match�build�tagss           r�parse_wheel_filenamerbis������V�$�"�A�(��L�
�	
����}�H�
�^�^�C�
 �F�
�V��"�>�x�j�I�
�	
�
�N�N�3���
�+�E��a��I��y��B�H�H�^�Y��
�
�K�S�"�%;�H�:�#F�G�G��Y�'�D���%��(�#����{��1�X�
�&�,�,�Z�8����&�(���E�(��1�E��
��X��K�$5�$5�a�$8� 9�;�;L�;L�Q�;O�P�Q�����U�2�Y��D��'�5�$�'�'��!��"�8��
�C�
��	���s�%D6�6	E�?E�Ec�b�|jd�r|dtd�}n/|jd�r|dtd�}ntd|����|jd�\}}}|std|����t	|�}	t|�}||fS#t$r}td|���|�d}~wwxYw)Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): rzInvalid sdist filename: z*Invalid sdist filename (invalid version): )rR�lenr�
rpartitionr'rr)rZ�	file_stemr\�sep�version_partr%rEr]s        r�parse_sdist_filenameri�s�������#��.��I���/�	�	�	�	�6�	"��^��F��|�,�	�"���z�
�
�	
�$-�#7�#7��#<� �I�s�L��"�%=�h�Z�#H�I�I��Y�'�D���,�'��
�'�?�����"�8��
�C�
��	���s�B�	B.�B)�)B.)r%r2r�bool�returnr)r%r2rkrj)rEz
Version | strr,rjrkr2)rZr2rkz8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]])rZr2rkztuple[NormalizedName, Version])!�
__future__rr@�typingrrrrrar	r
rErrrXr2rWr�
ValueErrorrrr�compile�
IGNORECASEr r"r*rVr'r+rIrbrir
rr�<module>rqs��
#�	�.�.� �,���r��E�#�s�(�O�+�,���)�3�/���*���:���:���"�*�*�0�"�-�-���!�b�j�j��+���B�J�J�Q�R���2�:�:�l�+��6;�'�5�
<@�-�
�-�48�-��-�`((��((�=�((�Vr

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists