o
    Ëý°j6
  ã                   @   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de	fdd	„Zdee deeee f f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   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/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"   û

þÚargsc                 C   sÒ   t ƒ }| | ¡\}}|jrtj |j¡ tj tj¡ t ¡  |r-|d dkr5t	|ƒdkr5| 
¡  t ¡  |d }|tvrZt|ƒ}d|› d�g}|rS| 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   Ú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    &