관리-도구
편집 파일: index.cpython-39.opt-1.pyc
a [��fQ � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZzd dlmZ W n ey^ d dl mZ Y n0 ddl mZ ddlm Z mZmZmZmZmZ ddlmZmZ e�e�ZdZdZG d d � d e�ZdS )� N)�Thread� )�DistlibException)�HTTPBasicAuthHandler�Request�HTTPPasswordMgr�urlparse�build_opener�string_types)�zip_dir�ServerProxyzhttps://pypi.org/pypi�pypic @ s� e Zd ZdZdZd*dd�Zdd� Zdd � Zd d� Zdd � Z dd� Z dd� Zd+dd�Zd,dd�Z d-dd�Zd.dd�Zdd� Zd/dd�Zd0d d!�Zd1d"d#�Zd$d%� Zd&d'� Zd2d(d)�ZdS )3�PackageIndexzc This class represents a package index compatible with PyPI, the Python Package Index. s. ----------ThIs_Is_tHe_distlib_index_bouNdaRY_$Nc C s� |pt | _| �� t| j�\}}}}}}|s<|s<|s<|dvrJtd| j ��d| _d| _d| _d| _t t jd��Z}dD ]D} z,tj | dg||d�} | dkr�| | _W q�W qt ty� Y qt0 qtW d � n1 s�0 Y dS ) z� Initialise an instance. :param url: The URL of the index. If not specified, the URL for PyPI is used. )�http�httpszinvalid repository: %sN�w)�gpgZgpg2z --version��stdout�stderrr )� DEFAULT_INDEX�url�read_configurationr r �password_handler�ssl_verifierr �gpg_home�open�os�devnull� subprocessZ check_call�OSError)�selfr �scheme�netloc�path�params�query�fragZsink�s�rc� r* �=/usr/lib/python3.9/site-packages/pip/_vendor/distlib/index.py�__init__$ s( � zPackageIndex.__init__c C s ddl m} |� S )zs Get the distutils command for interacting with PyPI configurations. :return: the command. r )�_get_pypirc_command)�utilr- )r! �cmdr* r* r+ r- A s z PackageIndex._get_pypirc_commandc C sN ddl m} || �}|�d�| _|�d�| _|�dd�| _|�d| j�| _dS ) z� Read the PyPI access configuration as supported by distutils. This populates ``username``, ``password``, ``realm`` and ``url`` attributes from the configuration. r )�_load_pypirc�username�password�realmr Z repositoryN)r. r0 �getr1 r2 r3 r )r! r0 Zcfgr* r* r+ r I s zPackageIndex.read_configurationc C s | � � ddlm} || � dS )z� Save the PyPI access configuration. You must have set ``username`` and ``password`` attributes before calling this method. r )� _store_pypircN)�check_credentialsr. r5 )r! r5 r* r* r+ �save_configurationV s zPackageIndex.save_configurationc C s\ | j du s| jdu rtd��t� }t| j�\}}}}}}|�| j|| j | j� t|�| _ dS )zp Check that ``username`` and ``password`` have been set, and raise an exception if not. Nz!username and password must be set) r1 r2 r r r r Zadd_passwordr3 r r )r! Zpm�_r# r* r* r+ r6 _ s zPackageIndex.check_credentialsc C s\ | � � |�� |�� }d|d<