a
    hbòf6
  ã                   @   s¦   d Z ddlZddlZddlmZmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZ ddlmZ ddlmZmZ d	d
gZe	dœdd	„Zee eeee f dœdd
„ZdS )z=A single place for constructing and exposing the main parser
é    N)ÚListÚTuple)Ú
cmdoptions)ÚConfigOptionParserÚUpdatingDefaultsHelpFormatter)Úcommands_dictÚget_similar_commands)ÚCommandError)Úget_pip_versionÚget_progÚcreate_main_parserÚparse_command)Úreturnc                  C   sl   t ddtƒ dtƒ d�} |  ¡  tƒ | _t tj| ¡}|  	|¡ d| _
dgdd„ t ¡ D ƒ }d	 |¡| _| S )
z1Creates and returns the main parser for pip's CLIz
%prog <command> [options]FÚglobal)ÚusageÚadd_help_optionÚ	formatterÚnameÚprogTÚ c                 S   s"   g | ]\}}|d ›d|j › �‘qS )Ú27ú )Úsummary)Ú.0r   Úcommand_info© r   úZ/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pip/_internal/cli/main_parser.pyÚ
<listcomp>'   s   ÿz&create_main_parser.<locals>.<listcomp>Ú
)r   r   r   Údisable_interspersed_argsr
   Úversionr   Úmake_option_groupÚgeneral_groupÚadd_option_groupÚmainr   ÚitemsÚjoinÚdescription)ÚparserÚgen_optsr'   r   r   r   r      s"    û

þ)Úargsr   c                 C   sÒ   t ƒ }| | ¡\}}|jr>tj |j¡ tj tj¡ t ¡  |rZ|d dkrjt	|ƒdkrj| 
¡  t ¡  |d }|tvr´t|ƒ}d|› d�g}|r¦| d|› d�¡ td |¡ƒ‚| d d … }| |¡ ||fS )Nr   Úhelpé   zunknown command "ú"zmaybe you meant "z - )r   Ú
parse_argsr    ÚsysÚstdoutÚwriteÚosÚlinesepÚexitÚlenÚ
print_helpr   r   Úappendr	   r&   Úremove)r*   r(   Úgeneral_optionsÚ	args_elseÚcmd_nameÚguessÚmsgÚcmd_argsr   r   r   r   0   s&    	
)Ú__doc__r2   r/   Útypingr   r   Zpip._internal.clir   Úpip._internal.cli.parserr   r   Úpip._internal.commandsr   r   Úpip._internal.exceptionsr	   Úpip._internal.utils.miscr
   r   Ú__all__r   Ústrr   r   r   r   r   Ú<module>   s   