/ lib / packaging / utils.pyc
utils.pyc
 1  o

 2  %��c�	@sddlZddlmZmZmZmZmZddlmZm	Z	ddl
 3  mZmZeedee
effZede�ZGdd	�d	e�ZGd
 4  d�de�Ze�d�Ze�d
�Zdedefdd�Zdd�deeefdedefdd�Zdedeeeeeeffdd�Zdedeeeffdd�ZdS)�N)�	FrozenSet�NewType�Tuple�Union�cast�)�Tag�	parse_tag)�InvalidVersion�Version��NormalizedNamec@�eZdZdZdS)�InvalidWheelFilenamezM
 5      An invalid wheel filename was found, users should refer to PEP 427.
 6      N��__name__�
 7  __module__�__qualname__�__doc__rrr��C:\Users\Jacks.GUTTSPC\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\packaging\utils.pyr�rc@r)�InvalidSdistFilenamez^
 8      An invalid sdist filename was found, users should refer to the packaging user guide.
 9      Nrrrrrrrrz[-_.]+z	(\d+)(.*)�name�returncCst�d|���}tt|�S)N�-)�_canonicalize_regex�sub�lowerrr
)r�valuerrr�canonicalize_name s
10  rT)�strip_trailing_zero�versionr cCst|t�rzt|�}Wn
ty|YSw|}g}|jdkr)|�|j�d��d�dd�|jD��}|r=t�	dd|�}|�|�|j
11  durU|�d�d	d�|j
12  D���|jdurc|�d
13  |j���|jdurq|�d|j���|j
dur|�d|j
���d�|�S)
z�
14      This is very similar to Version.__str__, but has one subtle difference
15      with the way it handles the release segment.
16      r�!�.cs��|]}t|�VqdS�N��str��.0�xrrr�	<genexpr>=��z'canonicalize_version.<locals>.<genexpr>z(\.0)+$�Ncsr$r%r&r(rrrr+Er,z.postz.dev�+)�
17  isinstancer'rr
18  �epoch�append�join�release�rer�pre�post�dev�local)r!r �parsed�parts�release_segmentrrr�canonicalize_version&s.
19  �
20  
21  
22  
23  
24  
25  
26  r<�filenamec
27  Cs|�d�std|����|dd�}|�d�}|dvr"td|����|�d|d�}|d}d	|vs<t�d
28  |tj�durCtd|����t|�}t|d�}|d
kry|d}t	�|�}|duritd|�d|�d���t
29  tt|�
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: rr@zInvalid build number: z in '�'r�����)�endswithr�count�splitr4�match�UNICODErr�_build_tag_regexr�BuildTag�int�groupr	)
30  r=�dashesr:�	name_partrr!�
31  build_part�build_match�build�tagsrrr�parse_wheel_filenameVs6
32  �
33  �
34  � rTcCs�|�d�r|dtd��}n|�d�r|dtd��}ntd|����|�d�\}}}|s6td|����t|�}t|�}||fS)Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): rzInvalid sdist filename: )rE�lenr�
35  rpartitionrr)r=�	file_stemrO�sep�version_partrr!rrr�parse_sdist_filenamezs
36  
37  ��rZ)r4�typingrrrrrrSrr	r!r
38  rrLr'rKr
�
39  ValueErrorrr�compilerrJr�boolr<rTrZrrrr�<module>s2
40  
41  
42  �
43  ��
44  �0�
45  �$