a
    b3j3                     @  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 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dddZdddddZdddddZdS )z<A single place for constructing and exposing the main parser    )annotationsN)escape)get_runnable_pip)
cmdoptions)ConfigOptionParserUpdatingDefaultsHelpFormatter)commands_dictget_similar_commands)CommandError)get_pip_versionget_progcreate_main_parserparse_commandr   )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dt |j qS )z[optparse.longargs]27z[/] )r   summary).0r   command_info r   z/www/wwwroot/dpstar/app/297b3aabda72fedb274352021c2dd8b5_venv/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"    

strz
str | None)pythonr   c                 C  sN   t j| rJt j| rFdD ]&}t j| |}t j|r|  S qn| S d S )N)z
bin/pythonzScripts/python.exe)ospathexistsisdirr&   )r+   Zexepyr   r   r   identify_python_interpreter4   s    r1   z	list[str]ztuple[str, list[str]])argsr   c              
   C  s  t  }|| \}}|jrdtjvrt|j}|d u rFtd|j |t g}||  dtjd< d}zt	
|}|j}W n> t	jtfy } z td| d| W Y d }~n
d }~0 0 t| |jrtj|j tjtj t  |r|d dkr"t|dkr"|  t  |d }	|	tvrpt|	}
d	|	 d
g}|
rb|d|
 d
 td|| d d  }||	 |	|fS )NZ_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,   environr1   r
   r   extend
subprocessrun
returncodeSubprocessErrorOSErrorsysexitr    stdoutwritelineseplen
print_helpr   r	   appendr&   remove)r2   r(   general_options	args_elseinterpreterpip_cmdr<   procexccmd_nameguessmsgcmd_argsr   r   r   r   G   sJ    	





*
"

)__doc__
__future__r   r,   r:   r?   Zpip._vendor.rich.markupr   pip._internal.build_envr   pip._internal.clir   pip._internal.cli.parserr   r   pip._internal.commandsr   r	   pip._internal.exceptionsr
   pip._internal.utils.miscr   r   __all__r   r1   r   r   r   r   r   <module>   s   