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 de0Z1G dd de1Z2dS )z(Base Command class, and related routines )absolute_importN) cmdoptions) PackageFinder)running_under_virtualenv) PipSession) BadCommandInstallationErrorUninstallationErrorCommandErrorPreviousBuildDirError)logging_dictConfig)ConfigOptionParserUpdatingDefaultsHelpFormatter)InstallRequirementparse_requirements)SUCCESSERROR UNKNOWN_ERRORVIRTUALENV_NOT_FOUNDPREVIOUS_BUILD_DIR_ERROR)deprecationget_prognormalize_path)IndentingFormatter)pip_version_checkCommandc @ s@ e Zd ZdZdZdZd ZdddZdddZd d Z dd Z dS )r NFext://sys.stdoutext://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)usageprog formatterZadd_help_optionnamedescriptionisolatedz %s Options)r r r! r __doc__r parser capitalizeoptparseZOptionGroupZcmd_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|jdnd |d k r*|n|j|jd}|jrF|j|_ |j rT|j |_|js^|rr|d k rj|n|j|_|jr|j|jd|_ |j |j_|S )Nhttp)cacheretriesZinsecure_hosts)r, Zhttps)r cache_dirr ospathjoinr. trusted_hostsZcertZverifyZclient_certtimeoutproxyZproxiesno_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 tjdidtd di d| jd d gdddd| jd dddd|jpddddd|t t d dd|jrdnd gdt fddd2D d" tj d d d3krtjd$tj |jr(d%tjd&<