File: //usr/local/lib/python3.10/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-310.pyc
o
��ibQ � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZzd dlmZ W n ey/ d dl mZ Y nw 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�Z d+dd�Zdd� Z d*dd�Z d*d d!�Zd,d"d#�Zd$d%� Zd&d'� Zd*d(d)�ZdS )-�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|dvr%td| j ��d| _d| _d| _d| _t t
jd��5}dD ]!} ztj
| dg||d�}
|
dkrQ| | _W nW q: ty[ Y q:w W d � dS W d � dS 1 sow 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�
subprocess�
check_call�OSError)�selfr �scheme�netloc�path�params�query�fragZsink�s�rc� r+ �D/usr/local/lib/python3.10/site-packages/pip/_vendor/distlib/index.py�__init__$ s4
����� "�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"