ok

Mini Shell

Direktori : /proc/self/root/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/
Upload File :
Current File : //proc/self/root/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyo

�
Bu�_c@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((sL/opt/alt/python36/lib/python3.6/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((sL/opt/alt/python36/lib/python3.6/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((sL/opt/alt/python36/lib/python3.6/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((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pys
<dictcomp>�s	cSsi|]}i|�qS(((R9R:((sL/opt/alt/python36/lib/python3.6/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((sL/opt/alt/python36/lib/python3.6/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((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pytload�s
	cCs+y|j�dSWntk
r&dSXdS(s@Returns the file with highest priority in configuration
        iN(t_get_parser_to_modifyt
IndexErrorR=(RG((sL/opt/alt/python36/lib/python3.6/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((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRP�scCs<y|j|SWn&tk
r7tdj|���nXdS(s,Get a value from the configuration.
        sNo such key - {}N(ROtKeyErrorRR(RGtkey((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyt	get_value�s
cCs�|j�|j�\}}|dk	rot|�\}}|j|�sY|j|�n|j|||�n||j|j|<|j	||�dS(s-Modify a value in the configuration.
        N(
t_ensure_have_load_onlyRLR=Rthas_sectiontadd_sectiontsetRERAt_mark_as_modified(RGRRtvaluetfnametparsertsectionR((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyt	set_value�s
cCs�|j�||j|jkr8tdj|���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(
RTRERARRRLR=RRUt
remove_optionRPtremove_sectionRX(RGRRRZR[R\R((sL/opt/alt/python36/lib/python3.6/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(
RTRFtloggertinfoRR)R*tdirnametopentwrite(RGRZR[tf((sL/opt/alt/python36/lib/python3.6/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=RRbtdebug(RG((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRT�scCs2i}x%|jD]}|j|j|�qW|S(s<A dictionary representing the loaded configuration.
        (RBtupdateRE(RGtretvalR:((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRO�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)tdevnullRbRiRPRAR=t
_load_fileRDtappend(RGtconfig_filesR:tfilesRZR[((sL/opt/alt/python36/lib/python3.6/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'(RbRit_construct_parsertsectionsRPRERjt_normalized_keys(RGR:RZR[R\RP((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRo$s$cCs�tj�}tjj|�r�y|j|�Wq�tk
ritddjt	j
t��d|��q�tjk
r�}td|��q�Xn|S(Ntreasonscontains invalid {} charactersRZterror(
RtRawConfigParserR)R*texiststreadtUnicodeDecodeErrorRRtlocaletgetpreferredencodingtFalsetError(RGRZR[Rw((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRs/s
cCs-|jtjj|jd|j���dS(s7Loads configuration from environment variables
        s:env:N(RER0R%RjRutget_environ_vars(RG((sL/opt/alt/python36/lib/python3.6/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\RPt
normalizedRtvalRR((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRuNs
ccsjxctjj�D]R\}}|jd�oA|dj�|jk}|r|dj�|fVqqWdS(s@Returns a generator with all environmental vars with prefix PIP_tPIP_iN(R)tenvironRPRRRC(RGRRR�tshould_be_yielded((sL/opt/alt/python36/lib/python3.6/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*RyRR!(RGtconfig_fileRqtshould_load_user_config((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRmgs		
cCs|j|S(s#Get values present in a config file(RE(RGR:((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pytget_values_in_config�scCs-|j|j}|s%td��n|dS(Ns4Fatal Internal error [id=2]. Please report as a bug.i����(RDRAR(RGtparsers((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRL�s
cCs2||f}||jkr.|jj|�ndS(N(RFRp(RGRZR[tfile_parser_tuple((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyRX�scCsdj|jj|j�S(Ns{}({!r})(Rt	__class__t__name__RO(RG((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyt__repr__�sN(R�t
__module__t__doc__R=R<RKRNRPRSR]R`RhRTtpropertyRORIRoRsRJRuR�RmR�RLRXR�(((sL/opt/alt/python36/lib/python3.6/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
RRRxtstrRt	getLoggerR�RbRRR0R,R5tobjectR6(((sL/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/configuration.pyt<module>s44		
			

Zerion Mini Shell 1.0