o
    ­—Žj  ã                   @  sª   d Z ddlmZ ddlZddlZddlZddl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mZ d
dgZddd
„Zddd„Zddd„ZdS )z<A single place for constructing and exposing the main parseré    )ÚannotationsN)Úescape)Ú
cmdoptions)ÚConfigOptionParserÚUpdatingDefaultsHelpFormatter)Úcommands_dictÚget_similar_commands)ÚCommandError)Úget_pip_versionÚget_progÚget_runnable_pipÚcreate_main_parserÚparse_commandÚreturnr   c                  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›dt |jƒ› �‘qS )z[optparse.longargs]Ú27z[/] )r   Úsummary)Ú.0r   Úcommand_info© r   úZ/var/www/kodo/Anonymous/send/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"   û

þÚpythonÚstrú
str | Nonec                 C  sP   t j | ¡r&t j | ¡r$dD ]}t j | |¡}t j |¡r!|  S qd S | S d S )N)z
bin/pythonzScripts/python.exe)ÚosÚpathÚexistsÚisdirr&   )r*   ÚexeÚpyr   r   r   Úidentify_python_interpreter3   s   ÿýr3   Úargsú	list[str]útuple[str, list[str]]c              
   C  sx  t ƒ }| | ¡\}}|jr]dtjvr]t|jƒ}|d u r#td|j› �ƒ‚|tƒ g}| | ¡ dtjd< d}z
t	 
|¡}|j}W n t	jtfyW } z
td|› d|› �ƒ‚d }~ww t |¡ |jrrtj |j¡ tj tj¡ t ¡  |r€|d dkrˆt|ƒdkrˆ| ¡  t ¡  |d }	|	tvr­t|	ƒ}
d	|	› d
�g}|
r¦| d|
› d
�¡ td |¡ƒ‚| d d … }| |	¡ |	|fS )NÚ_PIP_RUNNING_IN_SUBPROCESSz$Could not locate Python interpreter Ú1r   zFailed to run pip under z: Úhelpé   zunknown command "ú"zmaybe you meant "z - )r   Ú
parse_argsr*   r-   Úenvironr3   r	   r   ÚextendÚ
subprocessÚrunÚ
returncodeÚSubprocessErrorÚOSErrorÚsysÚexitr    ÚstdoutÚwriteÚlinesepÚlenÚ
print_helpr   r   Úappendr&   Úremove)r4   r(   Úgeneral_optionsÚ	args_elseÚinterpreterÚpip_cmdrA   ÚprocÚexcÚcmd_nameÚguessÚmsgÚcmd_argsr   r   r   r   F   sN   	

ÿþ



€ÿ

)r   r   )r*   r+   r   r,   )r4   r5   r   r6   )Ú__doc__Ú
__future__r   r-   r?   rD   Úpip._vendor.rich.markupr   Úpip._internal.clir   Úpip._internal.cli.parserr   r   Úpip._internal.commandsr   r   Úpip._internal.exceptionsr	   Úpip._internal.utils.miscr
   r   r   Ú__all__r   r3   r   r   r   r   r   Ú<module>   s    

