관리-도구
편집 파일: package_index.cpython-37.pyc
B ��ReΛ � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl ZddlZddlZddlZddlmZ ddlZddlmZmZmZmZmZmZmZmZmZm 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 �Z/e�.dej0�Z1e�.d�Z2e�.d ej0�j3Z4d�5� Z6ddddgZ7dZ8dZ9e9j:dj:ej;� ed�Z<dd� Z=dd� Z>dd� Z?dAdd�Z@dBdd�ZAdCdd �ZBdedfd!d�ZCd"d#� ZDe�.d$ej0�ZEeDd%d&� �ZFG d'd(� d(�ZGG d)d*� d*eG�ZHG d+d� de�ZIe�.d,�jJZKd-d.� ZLd/d0� ZMdDd1d2�ZNd3d4� ZOG d5d6� d6�ZPG d7d8� d8ejQ�ZRejSjTfd9d:�ZUd;d<� ZVeNe8�eU�ZUd=d>� ZWd?d@� ZXdS )Ez#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)�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{}.{})Zpy_major� setuptoolsc C sB y t �| �S tk r< } ztd| f �|�W d d }~X Y nX d S )Nz1Not a URL, existing file, or requirement spec: %r)r �parse� ValueErrorr )�spec�e� r ��/builddir/build/BUILDROOT/alt-python37-setuptools-58.3.0-4.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/setuptools/package_index.py�parse_requirement_arg6 s r! c C s� | � � }d\}}}|�d�r�|�d�r8| dd� }d}nn|�dd�rb| d d � }| dd� }d}nD|�d�r~| dd� }d }n(|�dd�r�| d d � }| dd� }d }|||fS )z=Return (base,pyversion) or (None,None) for possible .exe name)NNNz.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$ c C sx t j�| �}|\}}}}}}t j�|�d�d �}|dkrX|dkrXt j�|�d�d �}d|krp|�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 r= c c sd t | �\}}xt| ||�D ] }|V qW |r`t�|�}|r`x$t| |�d�|td�D ] }|V qRW dS )zEYield egg or source distribution objects that might be found at a URLr0 )� precedenceN)r= �distros_for_location�EGG_FRAGMENT�matchr �groupr )r5 �metadatar( r<