HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //lib/python3.9/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc
a

?�f%�@s�dZddlmZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZddl
mZmZddlmZe�e�ZGd	d
�d
ej�ZGdd�de�ZGd
d�dej�ZGdd�de�Zdd�ZdS)zBase option parser setup�)�absolute_importN)�	strtobool)�string_types)�
UNKNOWN_ERROR)�
Configuration�ConfigurationError)�get_terminal_sizec@sReZdZdZdd�Zdd�Zddd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�ZdS)�PrettyHelpFormatterz4A prettier/less verbose help formatter for optparse.cOs@d|d<d|d<t�dd|d<tjj|g|�Ri|��dS)N�Zmax_help_position�Zindent_incrementr��width)r�optparse�IndentedHelpFormatter�__init__)�self�args�kwargs�r�</usr/lib/python3.9/site-packages/pip/_internal/cli/parser.pyrszPrettyHelpFormatter.__init__cCs
|�|�S�N)�_format_option_strings�r�optionrrr�format_option_strings!sz)PrettyHelpFormatter.format_option_strings� <{}>�, cCs~g}|jr|�|jd�|jr0|�|jd�t|�dkrH|�d|�|��rt|jp^|j��}|�|�	|����d�
|�S)z�
        Return a comma-separated list of option strings and metavars.

        :param option:  tuple of (short opt, long opt), e.g: ('-f', '--format')
        :param mvarfmt: metavar format string
        :param optsep:  separator
        rr�)Z_short_opts�appendZ
_long_opts�len�insertZtakes_value�metavar�dest�lower�format�join)rrZmvarfmtZoptsepZoptsr!rrrr$sz*PrettyHelpFormatter._format_option_stringscCs|dkrdS|dS)NZOptionsrz:
r)rZheadingrrr�format_heading;sz"PrettyHelpFormatter.format_headingcCsd�|�t�|�d��}|S)zz
        Ensure there is only one newline between usage and the first heading
        if there is no description.
        z
Usage: {}
�  )r$�indent_lines�textwrap�dedent)rZusage�msgrrr�format_usage@s�z PrettyHelpFormatter.format_usagecCsV|rNt|jd�rd}nd}|�d�}|��}|�t�|�d�}d�||�}|SdSdS)N�mainZCommandsZDescription�
r'z{}:
{}
r)�hasattr�parser�lstrip�rstripr(r)r*r$)r�descriptionZlabelrrr�format_descriptionIs
z&PrettyHelpFormatter.format_descriptioncCs|r|SdSdS)Nrr)rZepilogrrr�
format_epilog[sz!PrettyHelpFormatter.format_epilogcs"�fdd�|�d�D�}d�|�S)Ncsg|]}�|�qSrr)�.0�line��indentrr�
<listcomp>c�z4PrettyHelpFormatter.indent_lines.<locals>.<listcomp>r.)�splitr%)r�textr9Z	new_linesrr8rr(bsz PrettyHelpFormatter.indent_linesN)rr)�__name__�
__module__�__qualname__�__doc__rrrr&r,r4r5r(rrrrr	s
	r	c@seZdZdZdd�ZdS)�UpdatingDefaultsHelpFormatterz�Custom help formatter for use in ConfigOptionParser.

    This is updates the defaults before expanding them, allowing
    them to show up correctly in the help listing.
    cCs(|jdur|j�|jj�tj�||�Sr)r0�_update_defaults�defaultsrr�expand_defaultrrrrrEns
z,UpdatingDefaultsHelpFormatter.expand_defaultN)r>r?r@rArErrrrrBgsrBc@s eZdZdd�Zedd��ZdS)�CustomOptionParsercOs,|j|i|��}|j��|j�||�|S)z*Insert an OptionGroup at a given position.)Zadd_option_group�
option_groups�popr )r�idxrr�grouprrr�insert_option_groupvs
z&CustomOptionParser.insert_option_groupcCs*|jdd�}|jD]}|�|j�q|S)z<Get a list of all options, including those in option groups.N)Zoption_listrG�extend)r�res�irrr�option_list_alls
z"CustomOptionParser.option_list_allN)r>r?r@rK�propertyrOrrrrrFts	rFc@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�ConfigOptionParserzsCustom option parser which updates its defaults by checking the
    configuration files and environmental variablescOsJ|�d�|_|�dd�}t|�|_|js,J�tjj|g|�Ri|��dS)N�name�isolatedF)rHrRr�configr�OptionParserr)rrrrSrrrr�s


zConfigOptionParser.__init__c
CsRz|�||�WStjyL}z$td�|��t�d�WYd}~n
d}~00dS)Nz*An error occurred during configuration: {}�)�check_valuerZOptionValueError�printr$�sys�exit)rr�key�val�excrrr�
check_default�s
z ConfigOptionParser.check_defaultccs�d|jdg}dd�|D�}|j��D]D\}}|s>t�d|�q$|�dd�\}}||vr$||�||f�q$|D] }||D]\}}||fVqzqndS)N�globalz:env:cSsi|]
}|g�qSrr)r6rRrrr�
<dictcomp>�r;zGConfigOptionParser._get_ordered_configuration_items.<locals>.<dictcomp>z7Ignoring configuration key '%s' as it's value is empty.�.r)rRrT�items�logger�debugr<r)rZoverride_orderZ
section_itemsZsection_keyr\Zsectionr[rrr� _get_ordered_configuration_items�s�z3ConfigOptionParser._get_ordered_configuration_itemsc	sLt��j��_t�}���D�]\�}��d����dur>q�jdvr�zt|�}Wn*t	y~t
�j�|�}��|�Yn0n��jdkr�|��}���fdd�|D�}nn�jdk�r|�
�j����}��||�}�jp�d}�jp�i}�j�||�g|�Ri|��n����|�}||�j<q|D]�t�j��|�<�q*d�_|S)	z�Updates the given defaults with values from the config files and
        the environ. Does a little special handling for certain types of
        options (lists).z--N)�
store_true�store_false�countrcsg|]}����|��qSr)r^)r6�v�r[rrrrr:�r;z7ConfigOptionParser._update_defaults.<locals>.<listcomp>�callbackr)r�ValuesrD�values�setreZ
get_option�actionr�
ValueError�invalid_config_error_message�errorr<�addr"�get_opt_stringZ
convert_valueZ
callback_argsZcallback_kwargsrkr^�getattr)rrDZ	late_evalr\Z	error_msg�opt_strrrrrjrrC�s<
�


 z#ConfigOptionParser._update_defaultsc
Cs�|jst�|j�Sz|j��Wn4tyT}z|�tt	|��WYd}~n
d}~00|�
|j���}|��D]4}|�
|j�}t|t�rn|��}|�||�||j<qnt�|�S)z�Overriding to make updating the defaults after instantiation of
        the option parser possible, _update_defaults() does the dirty work.N)Zprocess_default_valuesrrlrDrT�loadrrZr�strrC�copyZ_get_all_options�getr"�
isinstancerrtrW)r�errrDr�defaultrvrrr�get_default_values�s&
z%ConfigOptionParser.get_default_valuescCs"|�tj�|�td�|��dS)Nz{}
)Zprint_usagerY�stderrrZrr$)rr+rrrrr�szConfigOptionParser.errorN)
r>r?r@rArr^rerCr~rrrrrrrQ�s	1rQcCs |dvrd�||�Sd�||�S)zQReturns a better error message when invalid configuration option
    is provided.)rfrgzo{0} is not a valid value for {1} option, please specify a boolean value like yes/no, true/false or 1/0 instead.z[{0} is not a valid value for {1} option, please specify a numerical value like 1/0 instead.)r$)ror[r\rrrrqs��rq)rAZ
__future__rZloggingrrYr)Zdistutils.utilrZpip._vendor.sixrZpip._internal.cli.status_codesrZpip._internal.configurationrrZpip._internal.utils.compatrZ	getLoggerr>rcrr	rBrUrFrQrqrrrr�<module>s 
P
w