HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //lib/python3/dist-packages/packaging/__pycache__/utils.cpython-310.pyc
o

S;�`h�	@sddlZddlmZmZmZmZmZddlmZm	Z	ddl
mZmZeedee
effZede�ZGdd	�d	e�ZGd
d�de�Ze�d�Ze�d
�Zdedefdd�Zdeeefdefdd�Zdedeeeeeeffdd�Zdedeeeffdd�ZdS)�N)�	FrozenSet�NewType�Tuple�Union�cast�)�Tag�	parse_tag)�InvalidVersion�Version��NormalizedNamec@�eZdZdZdS)�InvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    N��__name__�
__module__�__qualname__�__doc__rrr�1/usr/lib/python3/dist-packages/packaging/utils.pyr�rc@r)�InvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nrrrrrrrrz[-_.]+z	(\d+)(.*)�name�returncCst�d|���}tt|�S)N�-)�_canonicalize_regex�sub�lowerrr
)r�valuerrr�canonicalize_name s
r�versionc
Cs�t|t�rzt|�}Wn
ty|YSw|}g}|jdkr)|�|j�d��|�t�ddd�dd�|j	D����|j
durO|�d�d	d�|j
D���|jdur]|�d
|j���|jdurk|�d|j���|j
dury|�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�!z(\.0)+$��.cs��|]}t|�VqdS�N��str��.0�xrrr�	<genexpr><��z'canonicalize_version.<locals>.<genexpr>Ncsr$r%r&r(rrrr+@r,z.postz.dev�+)�
isinstancer'rr
�epoch�append�rer�join�release�pre�post�dev�local)r �parsed�partsrrr�canonicalize_version&s(
�
&




r:�filenamec
Cs|�d�std|����|dd�}|�d�}|dvr"td|����|�d|d�}|d}d	|vs<t�d
|tj�durCtd|����t|�}t|d�}|d
kry|d}t	�|�}|duritd|�d|�d���t
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�splitr1�match�UNICODErr�_build_tag_regexr�BuildTag�int�groupr	)
r;�dashesr9�	name_partrr �
build_part�build_match�build�tagsrrr�parse_wheel_filenameQs6
�
�
� rRcCs�|�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: )rC�lenr�
rpartitionrr)r;�	file_stemrM�sep�version_partrr rrr�parse_sdist_filenameus

��rX)r1�typingrrrrrrQrr	r r
rrJr'rIr
�
ValueErrorrr�compilerrHrr:rRrXrrrr�<module>s$


+�
�$