U .eJR @ s d dl Z d dlZd dlZd dlZd dlZd dlZzd dlmZ W n ek r` d dl mZ Y nX ddl mZ ddlm Z mZmZmZmZmZ ddlmZmZmZ eeZdZdZG d d d eZdS ) N)Thread )DistlibException)HTTPBasicAuthHandlerRequestHTTPPasswordMgrurlparsebuild_openerstring_types)cached_propertyzip_dirServerProxyzhttps://pypi.org/pypipypic @ s e Zd ZdZdZd*ddZdd Zdd Zd d Zdd Z dd Z dd Zd+ddZd,ddZ d-ddZd.ddZdd Zd/ddZd0d d!Zd1d"d#Zd$d% Zd&d' Zd2d(d)ZdS )3PackageIndexzc 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<|dkrJtd| j d| _d| _d| _d| _t t jdR}dD ]F} z,tj | dg||d} | dkr| | _W qW qt tk r Y qtX qtW 5 Q R X dS ) z Initialise an instance. :param url: The URL of the index. If not specified, the URL for PyPI is used. )ZhttpZhttpszinvalid repository: %sNw)gpgZgpg2z --versionstdoutstderrr ) DEFAULT_INDEXurlread_configurationr r password_handlerssl_verifierr gpg_homeopenosdevnull subprocessZ check_callOSError)selfr ZschemenetlocpathZparamsZqueryZfragZsinksrc r% =/usr/lib/python3.8/site-packages/pip/_vendor/distlib/index.py__init__$ s( zPackageIndex.__init__c C s&