Your IP : 216.73.216.52


Current Path : /snap/certbot/current/lib64/python3.12/site-packages/packaging/__pycache__/
Upload File :
Current File : //snap/certbot/current/lib64/python3.12/site-packages/packaging/__pycache__/utils.cpython-312.pyc

�

`I�i����ddlmZddlZddlmZmZmZmZddlm	Z	m
Z
ddlmZm
Z
mZeedeeeffZede�ZGd	�d
e�ZGd�de�ZGd
�de�Zej.dej0�Zej.d�Zej.d�Zdd�dd�Zdd�Zdd�					dd�Z				dd�Zdd�Z y) �)�annotationsN)�NewType�Tuple�Union�cast�)�Tag�	parse_tag)�InvalidVersion�Version�_TrimmedRelease��NormalizedNamec��eZdZdZy)�InvalidNamezW
    An invalid distribution name; users should refer to the packaging user guide.
    N��__name__�
__module__�__qualname__�__doc__r��/build/snapcraft-certbot-53a6961353a63169611ae8a78f6bfa4f/parts/certbot/install/lib/python3.12/site-packages/packaging/utils.pyrr���rrc��eZdZdZy)�InvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    Nrrrrrrrrrc��eZdZdZy)�InvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nrrrrrrrrrz%[A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9]z+[a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9]z	(\d+)(.*)F)�validatec��|r#tj|�std|����|j�j	dd�j	dd�}d|vr|j	dd�}d|vr�td|�S)Nzname is invalid: �_�-�.z--r)�_validate_regex�	fullmatchr�lower�replacer)�namer�values   r�canonicalize_namer)*sz����1�1�$�7��-�d�X�6�7�7�
�J�J�L� � ��c�*�2�2�3��<�E�
�%�-��
�
�d�C�(���%�-�� �%�(�(rc�0�tj|�duS)N)�_normalized_regexr$)r's r�is_normalized_namer,7s���&�&�t�,�D�8�8rT)�strip_trailing_zeroc��t|t�r	t|�}t|rt	|��S|�S#t$rt|�cYSwxYw)a�
    Return a canonical form of a version as a string.

    >>> canonicalize_version('1.0.1')
    '1.0.1'

    Per PEP 625, versions may have multiple canonical forms, differing
    only by trailing zeros.

    >>> canonicalize_version('1.0.0')
    '1'
    >>> canonicalize_version('1.0.0', strip_trailing_zero=False)
    '1.0.0'

    Invalid versions are returned unaltered.

    >>> canonicalize_version('foo bar baz')
    'foo bar baz'
    )�
isinstance�strrrr
)�versionr-s  r�canonicalize_versionr2;sU��,�'�3��	 ��g�&�G��+>��w�'�L�L�G�L�L���	 ��w�<��	 �s�9�A�Ac��|jd�std|����|dd}|jd�}|dvrtd|����|jd|dz
�}|d}d	|vs%t	j
d
|tj��td|����t|�}	t|d�}|dk(rc|d}tj|�}|�td|�d|����tdt|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): r6zInvalid build number: z in �BuildTagr���)�endswithr�count�split�re�match�UNICODEr)rr�_build_tag_regexr�int�groupr
)�filename�dashes�parts�	name_partr'r1�e�
build_part�build_match�build�tagss           r�parse_wheel_filenamerMYs������V�$�"�A�(��N�
�	
����}�H�
�^�^�C�
 �F�
�V��"�>�x�l�K�
�	
�
�N�N�3���
�+�E��a��I��y��B�H�H�^�Y��
�
�K�S�"�%;�H�<�#H�I�I��Y�'�D���%��(�#����{��1�X�
�&�,�,�Z�8����&�(���D���E��
��Z�#�k�&7�&7��&:�";�[�=N�=N�q�=Q�!R�S�����U�2�Y��D��'�5�$�'�'��!��"�8���E�
��	���s�%D1�1	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'): r!zInvalid sdist filename: z*Invalid sdist filename (invalid version): )r;�lenr�
rpartitionr)rr)rD�	file_stemrG�sep�version_partr'r1rHs        r�parse_sdist_filenamerT�s�������#��.��I���/�	�	�	�	�6�	"��^��F��|�,�	�"���|�
�
�	
�$-�#7�#7��#<� �I�s�L��"�%=�h�\�#J�K�K��Y�'�D���,�'��
�'�?�����"�8���E�
��	���s�B�	B.�B)�)B.)r'r0r�bool�returnr)r'r0rVrU)r1z
Version | strr-rUrVr0)rDr0rVz8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]])rDr0rVztuple[NormalizedName, Version])!�
__future__rr>�typingrrrrrLr	r
r1rrr
rBr0r9r�
ValueErrorrrr�compile�
IGNORECASEr#r+rAr)r,r2rMrTrrr�<module>r\s���
#�	�.�.� �=�=���r��E�#�s�(�O�+�,���)�3�/���*���:���:���"�*�*�E�r�}�}�U���B�J�J�M�N���2�:�:�l�+��6;�
)�9�
<@�M�
�M�48�M��M�<((��((�=�((�Vr