3 ÝPf†. ã @ s, d Z ddlmZ ddlZddlZddlZddlZddlZddlm Z ddl mZ ddlm Z ddlmZ ddlmZmZmZmZmZ dd lmZ dd lmZmZ ddlmZmZ ddlmZm Z m!Z!m"Z"m#Z# dd l$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ dgZ,ej-e.ƒZ/G dd„ de0ƒZ1G dd„ de1ƒZ2dS )z(Base Command class, and related routinesé )Úabsolute_importN)Ú cmdoptions)Ú PackageFinder)Úrunning_under_virtualenv)Ú PipSession)Ú BadCommandÚInstallationErrorÚUninstallationErrorÚCommandErrorÚPreviousBuildDirError)Úlogging_dictConfig)ÚConfigOptionParserÚUpdatingDefaultsHelpFormatter)ÚInstallRequirementÚparse_requirements)ÚSUCCESSÚERRORÚ UNKNOWN_ERRORÚVIRTUALENV_NOT_FOUNDÚPREVIOUS_BUILD_DIR_ERROR)ÚdeprecationÚget_progÚnormalize_path)ÚIndentingFormatter)Úpip_version_checkÚCommandc @ s@ e Zd ZdZdZdZd Zddd„Zddd„Zd d „ Z dd„ Z dS )r NFúext://sys.stdoutúext://sys.stderrc C sr | j dtƒ | jf tƒ d| j| j|dœ}tf |Ž| _d| jjƒ }tj | j|ƒ| _ tjtj | jƒ}| jj|ƒ d S )Nz%s %sF)ÚusageÚprogÚ formatterZadd_help_optionÚnameÚdescriptionÚisolatedz %s Options)r r r! r Ú__doc__r ÚparserÚ capitalizeÚoptparseZOptionGroupZcmd_optsr Zmake_option_groupZ general_groupZadd_option_group)Úselfr# Z parser_kwZ optgroup_nameZgen_opts© r) ú!/usr/lib/python3.6/basecommand.pyÚ__init__) s zCommand.__init__c C s˜ t |jrttjj|jdƒƒnd |d k r*|n|j|jd�}|jrF|j|_ |j rT|j |_|js^|rr|d k rj|n|j|_|jrˆ|j|jdœ|_ |j |j_|S )NÚhttp)ÚcacheÚretriesZinsecure_hosts)r, Zhttps)r Ú cache_dirr ÚosÚpathÚjoinr. Ú trusted_hostsZcertZverifyZclient_certÚtimeoutÚproxyZproxiesÚno_inputZauthZ prompting)r( Úoptionsr. r4 Úsessionr) r) r* Ú_build_sessionA s zCommand._build_sessionc C s | j j|ƒS )N)r% Ú parse_args)r( Úargsr) r) r* r: e s zCommand.parse_argsc sÚ | j |ƒ\}}|jr8|jdkr"d‰ |jdkr2d‰ qHd‰ n|jrDd‰ nd‰ ˆ }|jrVd}tddd d tjdœidtd dœiˆ d| jd d gddœdd| jd ddœdd|jpªddddœdœ|t t d dd|jrÌdnd gƒƒdœt‡ fdd„d2D ƒƒd"œƒ tj d d… d3k�rtjd$tjƒ |j�r(d%tjd&<