HEX
Server: Apache
System: Linux sh-pro142.hostgator.com.br 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User: okform09 (1324)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //usr/libexec/oracle-cloud-agent/plugins/osms/packaging/utils.pyc
a

i��f��@s.ddlmZddlZddlmZmZmZmZddlm	Z	m
Z
ddlmZm
Z
eedeeeffZede�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�Ze�dej�Ze�d�Ze�d�Ze�d�Zdd�dddd�dd�Zddd�dd�Zdd�dddd �d!d"�Zdd#d$�d%d&�Zdd'd$�d(d)�Z dS)*�)�annotationsN)�NewType�Tuple�Union�cast�)�Tag�	parse_tag)�InvalidVersion�Version��NormalizedNamec@seZdZdZdS)�InvalidNamezW
    An invalid distribution name; users should refer to the packaging user guide.
    N��__name__�
__module__�__qualname__�__doc__rrr�s/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/packaging/utils.pyrsrc@seZdZdZdS)�InvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    Nrrrrrrsrc@seZdZdZdS)�InvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nrrrrrrsrz)^([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)�validate�str�bool)�namer�returncCs6|rt�|�std|����t�d|���}tt|�S)Nzname is invalid: �-)�_validate_regex�matchr�_canonicalize_regex�sub�lowerrr
)rr�valuerrr�canonicalize_name-sr#)rrcCst�|�duS�N)�_normalized_regexr)rrrr�is_normalized_name5sr&T)�strip_trailing_zeroz
Version | str)�versionr'rcCst|t�r0zt|�}Wq4ty,|YS0n|}g}|jdkrT|�|j�d��d�dd�|jD��}|r|t�	dd|�}|�|�|j
dur�|�d�d	d�|j
D���|jdur�|�d
|j���|jdur�|�d|j���|j
du�r|�d|j
���d�|�S)
z�
    This is very similar to Version.__str__, but has one subtle difference
    with the way it handles the release segment.
    r�!�.css|]}t|�VqdSr$�r��.0�xrrr�	<genexpr>P�z'canonicalize_version.<locals>.<genexpr>z(\.0)+$�Ncss|]}t|�VqdSr$r+r,rrrr/Xr0z.postz.dev�+)�
isinstancerrr
�epoch�append�join�release�rer �pre�post�dev�local)r(r'�parsed�parts�release_segmentrrr�canonicalize_version9s,





r@z8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]])�filenamerc
CsL|�d�std|����|dd�}|�d�}|dvrDtd|����|�d|d�}|d}d	|vsxt�d
|tj�dur�td|����t|�}zt|d�}Wn4t	y�}ztd
|���|�WYd}~n
d}~00|dk�r0|d}t
�|�}|du�rtd|�d|�d���ttt
|�d��|�d�f�}	nd}	t|d�}
|||	|
fS)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): rDzInvalid build number: z in '�'r���)�endswithr�count�splitr8r�UNICODEr#rr
�_build_tag_regexr�BuildTag�int�groupr	)rA�dashesr>�	name_partrr(�e�
build_part�build_match�build�tagsrrr�parse_wheel_filenameisD
�
���


� rXztuple[NormalizedName, Version]c
Cs�|�d�r|dtd��}n,|�d�r<|dtd��}ntd|����|�d�\}}}|sltd|����t|�}zt|�}Wn4ty�}ztd|���|�WYd}~n
d}~00||fS)Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): rzInvalid sdist filename: z*Invalid sdist filename (invalid version): )rI�lenr�
rpartitionr#rr
)rA�	file_stemrR�sep�version_partrr(rSrrr�parse_sdist_filename�s,

����r^)!�
__future__rr8�typingrrrrrWrr	r(r
rrOrrNr
�
ValueErrorrrr�compile�
IGNORECASErrr%rMr#r&r@rXr^rrrr�<module>s*
�


�0+