File: //proc/1233/root/usr/lib/python3/dist-packages/setuptools/__pycache__/package_index.cpython-310.pyc
o
[�c�� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
ZddlZddlZddlZddlmZ ddlZddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddl+m,Z, dd l-m.Z. e�/d
�Z0e�/dej1�Z2e�/d�Z3e�/d
ej1�j4Z5d�6� Z7g d�Z8dZ9dZ:e:j;dj;ej<� ed�Z=dd� Z>dd� Z?dd� Z@dBdd�ZAdBdd�ZBdBdd�ZCdedfd d!�ZDd"d#� ZEe�/d$ej1�ZFeEd%d&� �ZGG d'd(� d(�ZHG d)d*� d*eH�ZIG d+d,� d,e�ZJe�/d-�jKZLd.d/� ZMd0d1� ZNdCd2d3�ZOd4d5� ZPG d6d7� d7�ZQG d8d9� d9ejR�ZSejTjUfd:d;�ZVd<d=� ZWeOe9�eV�ZVd>d?� ZXd@dA� ZYdS )Dz#PyPI and direct package downloading� N��wraps)�
CHECKOUT_DIST�Distribution�BINARY_DIST�normalize_path�SOURCE_DIST�Environment�find_distributions� safe_name�safe_version�to_filename�Requirement�DEVELOP_DIST�EGG_DIST�
parse_version)�log)�DistutilsError)� translate)�Wheel��unique_everseenz^egg=([-A-Za-z0-9_.+!]+)$zhref\s*=\s*['"]?([^'"> ]+)z�<a href="([^"#]+)">([^<]+)</a>\n\s+\(<a (?:title="MD5 hash"\n\s+)href="[^?]+\?:action=show_md5&digest=([0-9a-f]{32})">md5</a>\)z([-+.a-z0-9]{2,}):z.tar.gz .tar.bz2 .tar .zip .tgz)�PackageIndex�distros_for_url�parse_bdist_wininst�interpret_distro_name� z<setuptools/{setuptools.__version__} Python-urllib/{py_major}z{}.{})�py_major�
setuptoolsc
C s6 zt �| �W S ty } ztd| f �|�d }~ww )Nz1Not a URL, existing file, or requirement spec: %r)r �parse�
ValueErrorr )�spec�e� r# �:/usr/lib/python3/dist-packages/setuptools/package_index.py�parse_requirement_arg6 s ����r% c C s� | � � }d\}}}|�d�rS|�d�r| dd� }d}n7|�dd�r1| d d
� }| dd� }d}n"|�d�r?| dd� }d
}n|�dd�rS| d d
� }| dd� }d
}|||fS )z=Return (base,pyversion) or (None,None) for possible .exe name)NNN�.exez
.win32.exeNi�����win32z .win32-pyi�i�������z.win-amd64.exei�z win-amd64z
.win-amd64-pyi��)�lower�endswith�
startswith)�namer) �base�py_ver�platr# r# r$ r ? s$
r c C sx t j�| �}|\}}}}}}t j�|�d�d �}|dkr,|dkr,t j�|�d�d �}d|v r8|�dd�\}}||fS )N�/���zsourceforge.net�download����#� )�urllibr �urlparse�unquote�split) �url�parts�scheme�server�path�
parameters�query�fragmentr- r# r# r$ �egg_info_for_urlW s rB c c sf � t | �\}}t| ||�D ]}|V q
|r-t�|�}|r/t| |�d�|td�D ] }|V q'dS dS dS )zEYield egg or source distribution objects that might be found at a URLr5 )�
precedenceN)rB �distros_for_location�EGG_FRAGMENT�matchr �groupr )r: �metadatar- rA �distrF r# r# r$ r b s �
��r c C s� |� d�r|dd� }|� d�rd|v rt�| ||�gS |� d�r<d|v r<t|�}|�� s/g S t| |j|jtd d�gS |� d �rUt|�\}}}|durUt | |||t
|�S tD ]}|� |�ro|dt|� � }t | ||� S qWg S )
z:Yield egg or source distribution objects based on basename�.egg.zipNr( z.egg�-z.whlr5 )�location�project_name�versionrC r&