B Úú˜Ùسiã @ sÄ d dl Z d dlZd dlZd dlZd dlZd dlZyd dlmZ W n ek r` d dl mZ Y nX 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<|dkrJtd| j ƒ‚d| _d| _d| _d| _t t jdƒR}xJdD ]B} y(tj | dg||d} | dkr | | _P W qv tk r¶ Y qvX qvW W dQ 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: %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ÚpathZparamsZqueryZfragZsinkÚsÚrc© r% ú>/opt/alt/python37/lib/python3.7/site-packages/distlib/index.pyÚ__init__$ s&