a
    eÖ0h  ã                   @   s˜   d Z ddlZddl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lmZ er|dd	lmZmZ d
dgZdd
„ Zdd„ ZdS )z=A single place for constructing and exposing the main parser
é    N)Ú
cmdoptions)ÚConfigOptionParserÚUpdatingDefaultsHelpFormatter)Úcommands_dictÚget_similar_commands)ÚCommandError)Úget_pip_versionÚget_prog)ÚMYPY_CHECK_RUNNING)ÚListÚTupleÚcreate_main_parserÚparse_commandc                  C   sx   ddt ƒ dtƒ dœ} tf i | ¤Ž}| ¡  tƒ |_t tj|¡}| 	|¡ d|_
dgdd„ t ¡ D ƒ }d	 |¡|_|S )
z6Creates and returns the main parser for pip's CLI
    z
%prog <command> [options]FÚglobal)ÚusageÚadd_help_optionÚ	formatterÚnameÚprogTÚ c                 S   s"   g | ]\}}d j f i tƒ ¤Ž‘qS )z {name:27} {command_info.summary})ÚformatÚlocals)Ú.0r   Úcommand_info© r   úK/var/www/auris/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_kwÚparserÚgen_optsr&   r   r   r   r      s"    û

þ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 |¡g}|r¢| 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   r   Úappendr   r%   Úremove)Úargsr(   Úgeneral_optionsÚ	args_elseÚcmd_nameÚguessÚmsgÚcmd_argsr   r   r   r   8   s&    	
)Ú__doc__r0   r-   Zpip._internal.clir   Úpip._internal.cli.parserr   r   Úpip._internal.commandsr   r   Úpip._internal.exceptionsr   Úpip._internal.utils.miscr   r	   Úpip._internal.utils.typingr
   Útypingr   r   Ú__all__r   r   r   r   r   r   Ú<module>   s   #