Your IP : 3.141.46.108


Current Path : /opt/alt/python27/lib/python2.7/site-packages/pip/_internal/
Upload File :
Current File : //opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyc

�
�Rec@szdZddlZddlZddlZddlZddlmZddlmZm	Z	ddl
mZddlm
Z
mZddlmZmZddlmZer�dd	lmZmZmZmZmZmZmZejZed
e�Zneje �Z!d�Z"d�Z#ed
ddddddddd�Z$e
rQdndZ%d�Z&de'fd��YZ(dS(sConfiguration management setup

Some terminology:
- name
  As written in config files.
- value
  Value associated with a name
- key
  Name combined with it's section (section.name)
- variant
  A single word describing where the configuration key-value pair came from
i����N(tconfigparser(tConfigurationErrort!ConfigurationFileCouldNotBeLoaded(tappdirs(tWINDOWSt
expanduser(t
ensure_dirtenum(tMYPY_CHECK_RUNNING(tAnytDicttIterabletListtNewTypetOptionaltTupletKindcCs8|j�jdd�}|jd�r4|d}n|S(sFMake a name consistent regardless of source (environment or file)
    t_t-s--i(tlowertreplacet
startswith(tname((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyt_normalize_name*s
cCs:d|kr*dj|�}t|��n|jdd�S(Nt.sbKey does not contain dot separated section and key. Perhaps you wanted to use 'global.{}' instead?i(tformatRtsplit(Rt
error_message((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyt_disassemble_key4s
	tUSERtusertGLOBALtglobaltSITEtsitetENVtenvtENV_VARsenv-varspip.inispip.confcCs�gtjd�D]}tjj|t�^q}tjjtjt�}tjjtd�t	rgdndt�}tjjtj
d�t�}i|tj6|gtj
6||gtj6S(Ntpipt~s.pip(Rtsite_config_dirstostpathtjointCONFIG_BASENAMEtsystprefixRRtuser_config_dirtkindsRR!R(R*tglobal_config_filestsite_config_filetlegacy_config_filetnew_config_file((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pytget_configuration_filesLs.				

t
ConfigurationcBs�eZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Ze
d
��Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(s�Handles management of configuration.

    Provides an interface to accessing and managing configuration files.

    This class converts provides an API that takes "section.key-name" style
    keys and stores the value associated with it as "key-name" under the
    section "section".

    This allows for a clean interface wherein the both the section and the
    key-name are preserved in an easy to manage form in the configuration files
    and the data stored is also nice.
    cCs�tt|�j�tjtjtjdg}||krhtdj	dj
tt|d �����n||_
||_tjtjtjtjtjg|_ddg|_d�|jD�|_d�|jD�|_g|_dS(Ns5Got invalid value for load_only - should be one of {}s, i����tversionthelpcSsi|]}g|�qS(((t.0tvariant((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pys
<dictcomp>�s	cSsi|]}i|�qS(((R9R:((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pys
<dictcomp>�s	(tsuperR6t__init__R0RRR!tNoneRRR+tmaptreprtisolatedt	load_onlyR#R%t_override_ordert_ignore_env_namest_parserst_configt_modified_parsers(tselfR@RAt_valid_load_only((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyR<qs%		'cCs$|j�|js |j�ndS(sELoads configuration from configuration files and environment
        N(t_load_config_filesR@t_load_environment_vars(RG((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pytload�s
	cCsF|jdk	std��y|j�dSWntk
rAdSXdS(s@Returns the file with highest priority in configuration
        s)Need to be specified a file to be editingiN(RAR=tAssertionErrort_get_parser_to_modifyt
IndexError(RG((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pytget_file_to_edit�s	
cCs
|jj�S(s`Returns key-value pairs like dict.items() representing the loaded
        configuration
        (t_dictionarytitems(RG((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRQ�scCs<y|j|SWn&tk
r7tdj|���nXdS(s,Get a value from the configuration.
        sNo such key - {}N(RPtKeyErrorRR(RGtkey((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyt	get_value�s
cCs�|j�|jst�|j�\}}|dk	r~t|�\}}|j|�sh|j|�n|j|||�n||j	|j|<|j
||�dS(s-Modify a value in the configuration.
        N(t_ensure_have_load_onlyRARLRMR=Rthas_sectiontadd_sectiontsetREt_mark_as_modified(RGRStvaluetfnametparsertsectionR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyt	set_value�s
cCs�|j�|jst�||j|jkrGtdj|���n|j�\}}|dk	r�t|�\}}|j	|�o�|j
||�s�td��n|j|�s�|j|�n|j
||�n|j|j|=dS(s#Unset a value in the configuration.sNo such key - {}s4Fatal Internal error [id=1]. Please report as a bug.N(RURARLRERRRMR=RRVt
remove_optionRQtremove_sectionRY(RGRSR[R\R]R((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pytunset_value�s
cCss|j�xb|jD]W\}}tjd|�ttjj|��t|d��}|j	|�WdQXqWdS(s*Save the current in-memory state.
        s
Writing to %stwN(
RURFtloggertinfoRR)R*tdirnametopentwrite(RGR[R\tf((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pytsave�s
cCs5|jdkrtd��ntjd|j�dS(Ns'Needed a specific file to be modifying.s$Will be working with %s variant only(RAR=RRctdebug(RG((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRU�scCs2i}x%|jD]}|j|j|�qW|S(s<A dictionary representing the loaded configuration.
        (RBtupdateRE(RGtretvalR:((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRP�scCs�t|j��}|tjdd!tjgkrCtjd�dSx�|j�D]�\}}xq|D]i}|j	dk	r�||j	kr�tjd||�qcn|j||�}|j|j
||f�qcWqPWdS(s5Loads configuration from configuration files
        iisZSkipping loading configuration files due to environment's PIP_CONFIG_FILE being os.devnullNs Skipping file '%s' (variant: %s)(tdicttiter_config_filesR0R#R)tdevnullRcRjRQRAR=t
_load_fileRDtappend(RGtconfig_filesR:tfilesR[R\((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRI	s 

cCsltjd||�|j|�}xC|j�D]5}|j|�}|j|j|j||��q/W|S(Ns'For variant '%s', will try loading '%s'(RcRjt_construct_parsertsectionsRQRERkt_normalized_keys(RGR:R[R\R]RQ((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRp$s$cCs�tj�}tjj|�r�y|j|�Wq�tk
ritddjt	j
t��d|��q�tjk
r�}td|��q�Xn|S(Ntreasonscontains invalid {} charactersR[terror(
RtRawConfigParserR)R*texiststreadtUnicodeDecodeErrorRRtlocaletgetpreferredencodingtFalsetError(RGR[R\Rx((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRt/s
cCs-|jtjj|jd|j���dS(s7Loads configuration from environment variables
        s:env:N(RER0R%RkRvtget_environ_vars(RG((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRJFscCs?i}x2|D]*\}}|dt|�}|||<q
W|S(s�Normalizes items to construct a dictionary with normalized keys.

        This routine is where the names become keys and are made the same
        regardless of source - configuration files or environment.
        R(R(RGR]RQt
normalizedRtvalRS((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRvNs
ccsjxctjj�D]R\}}|jd�oA|dj�|jk}|r|dj�|fVqqWdS(s@Returns a generator with all environmental vars with prefix PIP_tPIP_iN(R)tenvironRQRRRC(RGRSR�tshould_be_yielded((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyR�[s
ccs�tjjdd�}|dk	r5tj|gfVntjgfVt�}tj|tjfV|jo�|o�tj	j
|�}|r�tj|tjfVntj|tjfVdS(sYields variant and configuration files associated with it.

        This should be treated like items of a dictionary.
        tPIP_CONFIG_FILEN(
R)R�tgetR=R0R#R5RR@R*RzRR!(RGtconfig_fileRrtshould_load_user_config((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRngs		
cCs|j|S(s#Get values present in a config file(RE(RGR:((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pytget_values_in_config�scCs<|jst�|j|j}|s4td��n|dS(Ns4Fatal Internal error [id=2]. Please report as a bug.i����(RARLRDR(RGtparsers((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRM�scCs2||f}||jkr.|jj|�ndS(N(RFRq(RGR[R\tfile_parser_tuple((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyRY�scCsdj|jj|j�S(Ns{}({!r})(Rt	__class__t__name__RP(RG((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyt__repr__�sN(R�t
__module__t__doc__R=R<RKRORQRTR^RaRiRUtpropertyRPRIRpRtRJRvR�RnR�RMRYR�(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyR6cs,														
					()R�R}tloggingR)R-tpip._vendor.six.movesRtpip._internal.exceptionsRRtpip._internal.utilsRtpip._internal.utils.compatRRtpip._internal.utils.miscRRtpip._internal.utils.typingRttypingR	R
RRR
RRRytstrRt	getLoggerR�RcRRR0R,R5tobjectR6(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/configuration.pyt<module>s44		
			

?>