Your IP : 216.73.216.60


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pylint/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pylint/__pycache__/config.cpython-37.opt-1.pyc

B

A!p\���
@s0dZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZej�d�Zdejkr�ejdZedkr�ej�e�Znedkr�dZnej�ed�Zdd	�Zd
d�Zejdkr�d
\ZZnd\ZZdd�Zdd�Ze�Zde�Z Gdd�de!�Z"dd�Z#dd�Z$dd�Z%dd�Z&dd�Z'd d!�Z(d"d#�Z)ej*e+e
j,e'e%e(d$d%�d&d%�e)d'�	Z-d(d)�Z.dDd+d,�Z/d-d.�Z0d/d0�Z1ej2d1d2��Z3d3d4�Z4Gd5d6�d6ej5�Z5Gd7d8�d8ej6�Z6Gd9d:�d:ej7�Z8Gd;d<�d<�Z9Gd=d>�d>�Z:Gd?d@�d@e9e:�Z;dAej<dfdBdC�Z=dS)EzIutilities for Pylint configuration :

* pylintrc
* pylint.d (PYLINTHOME)
�)�print_functionN)�utils�~Z
PYLINTHOMEz	.pylint.dcCs&|�tjd�}tj�td||df�S)N�_z%s%s%sz.stats)�replace�os�sep�path�join�PYLINT_HOME)Z	base_nameZrecurs�r�>/opt/alt/python37/lib/python3.7/site-packages/pylint/config.py�_get_pdata_pathHsrc	CsDt|d�}y t|t��}t�|�SQRXWntk
r>iSXdS)N�)r�open�
_PICK_LOAD�pickle�load�	Exception)�base�	data_file�streamrrr
�load_resultsMs
r)�r)�w�r)�wb�rbc
Cs�tj�t�sByt�t�Wn&tk
r@tdttjd�YnXt	|d�}y&t
|t��}t�
||�WdQRXWn<ttfk
r�}ztd||ftjd�Wdd}~XYnXdS)NzUnable to create directory %s)�filerzUnable to create file %s: %s)rr	�existsr�mkdir�OSError�print�sys�stderrrr�
_PICK_DUMPr�dump�IOError)Zresultsrrr�exrrr
�save_results\s
r)cCs`tj�d�rtj�d�Stj�d�r0tj�d�Stj�d�r�tj�t���}xxtj�tj�|d��r�tj�tj�|d��}tj�tj�|d��r�tj�|d�Stj�tj�|d��rNtj�|d�SqNWdtjkr�tj�tjd�r�tjd}nHtj�d�}|dk�r
d}n,tj�|d�}tj�|��s6tj�|dd�}tj�|��s\tj�d	��rXd	}nd
}|S)zKsearch the pylint rc file and return its path if it find it, else None
    �pylintrcz	.pylintrcz__init__.pyz..�PYLINTRCr)rz/rootz.configz
/etc/pylintrcN)	rr	r�abspath�isfile�getcwdr
�environ�
expanduser)�curdirr*Z	user_homerrr
�
find_pylintrcjs2
r2af
The following environment variables are used:
    * PYLINTHOME
    Path to the directory where persistent data for the run will be stored. If
not found, it defaults to ~/.pylint.d/ or .pylint.d (in the current working
directory).
    * PYLINTRC
    Path to the configuration file. See the documentation for the method used
to search for configuration file.
c@seZdZdZdS)�UnsupportedActionzBraised by set_option when it doesn't know what to do for an actionN)�__name__�
__module__�__qualname__�__doc__rrrr
r3�sr3cCs<t�|�}x,|D]$}||krd}t�||||f��qW|S)Nz-option %s: invalid value: %r, should be in %s)r�
_check_csv�optparse�OptionValueError)�choices�name�value�valuesZ	csv_value�msgrrr
�_multiple_choice_validator�s

r@cCs$||kr d}t�||||f��|S)Nz-option %s: invalid value: %r, should be in %s)r9r:)r;r<r=r?rrr
�_choice_validator�srAcCs
t�|�S)N)rr8)rr<r=rrr
�_csv_validator�srBcCst|d�r|St�|�S)N�pattern)�hasattr�re�compile)rr<r=rrr
�_regexp_validator�s
rGcs��fdd�t��|�D�S)Ncsg|]}t��|��qSr)rG)�.0�val)rr<rr
�
<listcomp>�sz)_regexp_csv_validator.<locals>.<listcomp>)rB)rr<r=r)rr<r
�_regexp_csv_validator�srKcCsDt|t�rt|�S|dkrdS|dkr*dSd}t�|||f��dS)N)�y�yesT)�n�noFz<option %s: invalid yn value %r, should be in (y, yes, n, no))�
isinstance�int�boolr9r:)�optrr=r?rrr
�
_yn_validator�s
rTcCs|sd}t�|��t�|�S)Nzindent string can't be empty.)r9r:r�_unquote)rSrr=r?rrr
�_non_empty_string_validator�s
rVcCst|d||�S)Nr;)rA)rSr<r=rrr
�<lambda>��rWcCst|d||�S)Nr;)r@)rSr<r=rrr
rW�s)	�stringrQ�regexp�
regexp_csv�csv�yn�choice�multiple_choice�non_empty_stringcCst|tkrtd|��yt||||�Stk
rnyt||�Stk
rht�d|||f��YnXYnXdS)NzUnsupported type "%s"z"%s value (%r) should be of type %s)�
VALIDATORSr�	TypeErrorr9r:)Zopttype�optdict�optionr=rrr
�_call_validator�sre�cCs0y|d}Wntk
r |SXt||||�S)z�return a validated value for an option according to its type

    optional argument name is only used for error message formatting
    �type)�KeyErrorre)r=rcr<Z_typerrr
�	_validate�s
rics�fdd�|jD�S)Ncs0g|](}t|dd�pd�kr|jtjk	r|�qS)�levelr)�getattr�helpr9�
SUPPRESS_HELP)rHrd)�outputlevelrr
rJsz"_level_options.<locals>.<listcomp>)�option_list)�grouprnr)rnr
�_level_options�s
rqcCs�|jdks|js|jS|jddd�}y|jjj|}Wntk
rRd}Yn2X|�|�}|�||�}t	|j
||�}t�||�}|t
jks�|s�|j}|j�|jt|��S)z�Patch OptionParser.expand_default with custom behaviour

    This will handle defaults to avoid overriding values in the
    configuration file.
    Nr�)�parserZdefault_tagrlZ
_long_opts�options_manager�_all_optionsrh�get_option_def�option_attrnamerk�configrZ_format_option_valuer9Z
NO_DEFAULTZNO_DEFAULT_VALUEr�str)�selfrd�optname�providerr=rcrrr
�_expand_defaults

r}ccs(tj}zttj_dVWd|tj_XdS)N)r9�
HelpFormatterr}�expand_default)Zorig_defaultrrr
�_patch_optparses

r�cCst|j||�S)N)r@r;)rSr<r=rrr
�#_multiple_choices_validating_option(sr�c@s�eZdZejjdZejjddgZe�ejj�Ze	ed<e
ed<eed<eed<e
ed<eed	<d
d�Zdd
�Zeejjd<dd�ZdS)�Option)rZr[r\r]r_r`�hiderjrZr[r\r]r_r`cOs0tjj|f|�|�t|d�r,|jr,tj|_dS)Nr�)r9r��__init__rDr�rmrl)rzZoptsZattrsrrr
r�?szOption.__init__cCsv|jdkrV|jdkr t�d|��t|jttf�srt�dtt|j���d�d|��n|jdk	rrt�d|j|��dS)N)r^r_z/must supply a list of choices for type 'choice'z1choices must be a list of strings ('%s' supplied)�'rz#must not supply choices for type %r)	rgr;r9�OptionErrorrP�tuple�listry�split)rzrrr
�
_check_choiceDs


zOption._check_choicerrcCsL|�||�}|jdkr4t||j�}|r4|�|�|}|�|j|j||||�S)N�named)Z
convert_valuergrk�dest�updateZtake_action�action)rzrSr=r>rsZexistentrrr
�processXs

zOption.processN)r4r5r6r9r�ZTYPES�ATTRS�copyZTYPE_CHECKERrGrKrBrTr�rVr�r�Z
CHECK_METHODSr�rrrr
r�-sr�c@s&eZdZdd�Zddd�Zdd�ZdS)	�OptionParsercOs tjj|f|�dti|��dS)N�option_class)r9r�r�r�)rzr��args�kwargsrrr
r�hszOptionParser.__init__NcCs�|dkr|j}t|dd�}|�|�g}|�|�d��|��|jrd|�tj�	||��|�d�xB|j
D]8}|j|krl|js�t
||�rl|�|�|��|�d�qlW|��d�|dd��S)N�output_levelrZOptions�
rf���)�	formatterrkZstore_option_strings�append�format_heading�indentror9ZOptionContainer�format_option_help�
option_groupsrj�descriptionrq�format_help�dedentr
)rzr�rn�resultrprrr
r�ks"


zOptionParser.format_option_helpcCs||jkrt�|��|S)zDisable abbreviations.)Z	_long_optr9ZBadOptionError)rzrSrrr
�_match_long_opt�s

zOptionParser._match_long_opt)N)r4r5r6r�r�r�rrrr
r�gs
r�c@steZdZddd�Zdd�Zdd	�Zd
d�Zdd
d�Zedd��Z	edd��Z
edd��Zedd��Zedd��Z
dS)�_ManHelpFormatterr��OcCstj�|||||�dS)N)r9r~r�)rzZindent_incrementZmax_help_position�widthZshort_firstrrr
r��sz_ManHelpFormatter.__init__cCsd|��S)Nz.SH %s
)�upper)rzZheadingrrr
r��sz _ManHelpFormatter.format_headingcCs|S)Nr)rzr�rrr
�format_description�sz$_ManHelpFormatter.format_descriptioncCs|y
|j}Wntk
r(|�|�}YnX|jrl|�|�}d�dd�|��D��}|�dd�}|�dd�}nd}d	||fS)
N� cSsg|]}|���qSr)�strip)rH�lrrr
rJ�sz3_ManHelpFormatter.format_option.<locals>.<listcomp>�\z\\z	[current:z	[default:rfz.IP "%s"
%s
)Zoption_strings�AttributeErrorZformat_option_stringsrlrr
�
splitlinesr)rzrdZ	optstringZ	help_textZhelp_stringrrr
�
format_option�s

z_ManHelpFormatter.format_optionrcCsrd}y|��}Wntk
r,|��}YnX|�||j�}t|d�rT|�||j�}d|�||�||�	|�|fS)Nrf�	long_descz%s
%s
%s
%s)
Z_get_prog_namer�Z
get_prog_name�format_short_descriptionr�rD�format_long_descriptionr��format_title�format_synopsis)rz�	optparser�pkginfo�sectionr��pgm�
short_descrrr
�format_head�s

z_ManHelpFormatter.format_headcCs$dt��dd�}d||||fS)Nz%d-%02d-%02drz.TH %s %s "%s" %s)�time�	localtime)r�r�Zdaterrr
r��sz_ManHelpFormatter.format_titlecCsd||��fS)Nz.SH NAME
.B %s
\- %s
)r�)r�r�rrr
r��sz*_ManHelpFormatter.format_short_descriptioncCsd|S)Nz6.SH SYNOPSIS
.B  %s
[
.I OPTIONS
] [
.I <arguments>
]
r)r�rrr
r��s
z!_ManHelpFormatter.format_synopsiscCsRd�dd�|��D��}|�dd�}|���|�rB|t|�d�}d||��fS)Nr�css|]}|��VqdS)N)�lstrip)rH�linerrr
�	<genexpr>�sz<_ManHelpFormatter.format_long_description.<locals>.<genexpr>z
.
z

z.SH DESCRIPTION
.B %s
%s
)r
r�r�lower�
startswith�lenr�)r�r�rrr
r��sz)_ManHelpFormatter.format_long_descriptioncCs<dt|d|j�|j|j|jf}t|d�r8|d|j7}|S)Nz}.SH SEE ALSO
/usr/share/doc/pythonX.Y-%s/

.SH BUGS
Please report bugs on the project's mailing list:
%s

.SH AUTHOR
%s <%s>
Zdebian_name�	copyrightz
.SH COPYRIGHT
%s
)rk�modnameZmailinglistZauthorZauthor_emailrDr�)r��tailrrr
�format_tail�s


z_ManHelpFormatter.format_tailN)rr�r�r)r)r4r5r6r�r�r�r�r��staticmethodr�r�r�r�r�rrrr
r��s


r�c@s�eZdZdZd,dd�Zd-dd�Zd.d	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zd/dd�Zd0dd�Z
dd�Zd1dd�Zdd �Zd!d"�Zd#d$�Zd2d%d&�Zd3d(d)�Zd4d*d+�ZdS)5�OptionsManagerMixInzLHandle configuration from both a configuration file and command line optionsNcCs@||_|j||d�g|_t��|_i|_i|_i|_d|_	dS)N)�versionr)
�config_file�
reset_parsers�options_providers�collections�OrderedDictru�_short_options�_nocallback_options�	_mygroups�	_maxlevel)rz�usager�r�rrr
r�s
zOptionsManagerMixIn.__init__rfcCs:tjdd�|_tt||d�|_||j_t|jjj	�|_
dS)N)�#�;)Zinline_comment_prefixes)r�r�)�configparserZConfigParser�cfgfile_parserr�r��cmdline_parserrt�setr�r��_optik_option_attrs)rzr�r�rrr
r�s

z!OptionsManagerMixIn.reset_parsersTc
s�|jdkstd��xDtt|j��D]&}|j|j|jkr"|j�||�Pq"W|j�|�dd�|jD�}t|dd�}|r�|r�|�	|j
��|j||�n$x"|D]\}}|�
||j||�q�Wx<|D]4\�}�����fdd�|jD�}	|�	�||	|�q�WdS)	zregister an options providerrz!provider's priority can't be >= 0cSsg|]}d|dkr|�qS)rprr)rHrdrrr
rJ'szAOptionsManagerMixIn.register_options_provider.<locals>.<listcomp>r�rcs(g|] }|d�dd����kr|�qS)rrprf)�getr�)rHrd)�gnamerr
rJ7sN)�priority�AssertionError�ranger�r��insertr��optionsrk�add_option_groupr<r�r7�add_optik_optionr�)
rzr|�	own_group�iZnon_group_spec_options�groupsrSrcZgdocZgoptionsr)r�r
�register_options_providers*

z-OptionsManagerMixIn.register_options_providercCs�||jkr|j|}nRtj|j|��d�}|j�|�|j|_||j|<|dkrh||jjkrh|j�	|�x |D]\}}|�
||||�qnWdS)N)�titleZDEFAULT)r�r9�OptionGroupr��
capitalizer�rjr��	_sectionsZadd_sectionr�)rzZ
group_namerr�r|rprSrcrrr
r�=s

z$OptionsManagerMixIn.add_option_groupcCs@|�|||�\}}|j||�}||j|<t|j|jp6d�|_dS)Nr)�optik_optionZ
add_optionru�maxr�rj)rzr|ZoptikcontainerrSrcr�rdrrr
r�Rs
z$OptionsManagerMixIn.add_optik_optioncCs�t�|�}d|kr||j|<nd|d<|j|d<d|krpd|krj|�d�dk	rj|ddkrj|dd7<|d=dt|�g}d	|kr�||j|d	<|�d
|d	�|d	=x(t|���D]}||j	kr�|�
|�q�W||fS)zjget our personal option definition and return a suitable form for
        use with optik/optparse
        r��callback�defaultrlN)�
store_true�store_falsez [current: %default]z--Zshort�-)r�r��cb_set_provider_optionr�ryr�r�r��keysr��pop)rzr|rSrcr��keyrrr
r�Xs(


z OptionsManagerMixIn.optik_optioncCsF|�d�r|dd�}n|j|dd�}|dkr6d}|�||�dS)z!optik callback for option settingz--rrNr)r�r��global_set_option)rzrdrSr=rsrrr
r�ws
z*OptionsManagerMixIn.cb_set_provider_optioncCs|j|�||�dS)z)set option on the correct option providerN)ru�
set_option)rzrSr=rrr
r��sz%OptionsManagerMixIn.global_set_optionrcCs�i}g}xv|jD]l}xf|��D]Z\}}|dkr4|j}||kr>qdd�|D�}|sRq||krd|�|�|�|g�}	|	|7}	qWqW|p�tj}d}
x:|D]2}|
r�td|d�t�	||�
�t||��d}
q�WdS)zrwrite a configuration file according to the current configuration
        into the given stream or stdout
        NcSs4g|],\}}}|�d�dk	r|�d�s|||f�qS)rgNZ
deprecated)r�)rHrN�d�vrrr
rJ�sz7OptionsManagerMixIn.generate_config.<locals>.<listcomp>Fr�)rT)r��options_by_sectionr<r��
setdefaultr#�stdoutr"rZformat_sectionr��sorted)rzrZskipsections�encodingr��sectionsr|r�r�Z
alloptionsZprintedrrr
�generate_config�s0


z#OptionsManagerMixIn.generate_configrc	Cs2t��"t|j|||ptj|jd�WdQRXdS)N)rrj)r��_generate_manpager�r#r�r�)rzr�r�rrrr
�generate_manpage�sz$OptionsManagerMixIn.generate_manpagecCsx|jD]}|��qWdS)z-initialize configuration using default valuesN)r��
load_defaults)rzr|rrr
�load_provider_defaults�sz*OptionsManagerMixIn.load_provider_defaultsc	s�d}x�|�jkr�d�dg|�d}|�jkr0P|f�fdd�	}dd�d	g|�}d
||d�}�jd}��|�j||�|j||ff7_|d7}qW|d
kr��j}|d
k	r�tj	�
|�}tj	�|�s�td�
|���|o�tj	�|�}	|	�rV�j}
tj|ddd��}|
�|�Wd
QRXx:t|
j���D](\}}
|���s*|
�r*|
|
j|��<�q*W|�s`d
S|	�rzd�
tj	�|��}nd}t|tjd�d
S)zrread the configuration file but do not load it (i.e. dispatching
        values to each options provider)
        rr�Zlongz-helpcst��|��t�d�dS)Nr)r"rlr#�exit)rdrSrI�prj)rzrr
�helpfunc�sz6OptionsManagerMixIn.read_config_file.<locals>.helpfuncz%s verbose help.r�Zmorer�)r�r�rlrNz#The config file {:s} doesn't exist!rZ	utf_8_sig)rzUsing config file {}z1No config file found, using default configuration)r)r�r
rur�r�r�r�r�rr	r0rr'�formatr��iorZ	read_filer�r��items�isupperr�r,r"r#r$)rzr��verboseZ	helplevelrSr	Zhelpmsgrcr|Zuse_config_filers�fpZsectr>r?r)rzr
�read_config_file�s@

z$OptionsManagerMixIn.read_config_filecCsb|j}xV|��D]J}xD|�|�D]6\}}y|�||�Wq ttjfk
rTw Yq Xq WqWdS)zddispatch values previously read from a configuration file to each
        options provider)
        N)r�rrr�rhr9r�)rzrsr�rdr=rrr
�load_config_file�sz$OptionsManagerMixIn.load_config_filecKs
|�|�S)z4override configuration according to given parameters)�load_configuration_from_config)rzr�rrr
�load_configuration�sz&OptionsManagerMixIn.load_configurationcCs<x6|��D]*\}}|�dd�}|j|}|�||�q
WdS)Nrr�)rrrur�)rzrxrSZ	opt_valuer|rrr
r�s
z2OptionsManagerMixIn.load_configuration_from_configc	Cs�t���|dkr tjdd�}nt|�}|jj|d�\}}xJ|jD]@}|j}x4|j�	�D]&}t
||d�}|dkrrqXt|||�qXWqBW|SQRXdS)ziOverride configuration according to command line parameters

        return additional arguments
        Nr)r�)r�r#�argvr�r��
parse_argsr�rx�__dict__r�rk�setattr)rzr�r�r|rx�attrr=rrr
�load_command_line_configurationsz3OptionsManagerMixIn.load_command_line_configurationrcCs:tj|j|��|d�}||_t|j|�|_|j�|�dS)z,add a dummy option section for help purpose )r�r�N)r9r�r�r�rjr�r�r�)rzr�r�rjrprrr
�add_help_sections
z$OptionsManagerMixIn.add_help_sectionc	Cs&||jj_t��|j��SQRXdS)z.return the usage string for available options N)r�r�r�r�r�)rzrjrrr
rls
zOptionsManagerMixIn.help)NN)rfN)T)NrN)rN)NN)N)r)r)r4r5r6r7r�r�r�r�r�r�r�r�rrrrrrrrrrlrrrr
r�s&



 

!


1


	r�c@sfeZdZdZdZdZdZdZdd�Zdd	�Z	ddd�Z
d
d�Zddd�Zdd�Z
dd�Zddd�Zd
S)�OptionsProviderMixInz-Mixin to provide options to an OptionsManagerr�r�rrcCst��|_|��dS)N)r9ZValuesrxr)rzrrr
r�-s
zOptionsProviderMixIn.__init__cCsVxP|jD]F\}}|�d�}|dkr|dkr4|�|�}|�d�}|�||||�qWdS)z,initialize the provider using default valuesr�r�Nr�)r�r�rvr�)rzrSrcr�r�rrr
r1s


z"OptionsProviderMixIn.load_defaultsNcCs&|dkr|�|�}|�d|�dd��S)z-get the config attribute corresponding to optNr�r�r)rvr�r)rzrSrcrrr
rw<s
z$OptionsProviderMixIn.option_attrnamecCst|j|�|�d�S)z*get the current value for the given optionN)rkrxrw)rzrSrrr
�option_valueBsz!OptionsProviderMixIn.option_valuecCsZ|dkr|�|�}|dk	r&t|||�}|dkr:|�dd�}|dkrZt|j|�||�|�n�|dkrzt|j|�||�d�n�|dkr�t|j|�||�d�n�|dk�r0|�||�}t|j|d�}|dk�rt|tt	f�r�|}n|dk	r�g}|�
|�t|j||�n,t|t	��r$t|j|||f�n
|�
|�n&|d	k�rN|d	d||d�nt|��dS)
z?method called to set an option (registered in the options list)Nr�Zstore)r��countrr�rr�r�)rvrir�rrxrwrkrPr�r�r�r3)rzr{r=r�rcZ_listrrr
r�Fs8




zOptionsProviderMixIn.set_optioncCsH|js
t�x"|jD]}|d|kr|dSqWt�d||jf|��dS)z7return the dictionary defining an option given its namerrzno such option %s in section %rN)r�r�r9r�r<)rzrSrdrrr
rvgs
z#OptionsProviderMixIn.get_option_defccs�i}x6|jD],\}}|�|�d�g��|||�|�f�qWd|krTd|�d�fVx&t|���D]\}}|��|fVqbWdS)ztreturn an iterator on options grouped by section

        (section, [list of (optname, optdict, optvalue)])
        rpN)	r�r�r�r�rr�r�rr�)rzrr{rcr�r�rrr
r�qsz'OptionsProviderMixIn.options_by_sectionccs6|dkr|j}x"|D]\}}|||�|�fVqWdS)N)r�r)rzr�r{rcrrr
�options_and_values�sz'OptionsProviderMixIn.options_and_values)N)NN)N)r4r5r6r7r�r<r�rjr�rrwrr�rvr�rrrrr
r$s

!
rc@seZdZdZdd�ZdS)�ConfigurationMixInz]basic mixin for simple configurations which don't need the
    manager / providers model
    c	Os�|s|�dd�tj|f|�|�t�|�t|dd�s�g|_xT|jD]J\}}y|d��df}Wntk
rxwFYnX||jkrF|j�	|�qFW|j
|dd�dS)Nr�rfr�rpF)r�)r�r�r�rrkr�r�r�rhr�r�)rzr�r�rrcZgdefrrr
r��s

zConfigurationMixIn.__init__N)r4r5r6r7r�rrrr
r�srrcCsPt�}||_||_t|�|||�|d�t|�|�|d�t|�|�|d�dS)N)r)r�r�rsr"r�r�r�)r�r�r�rrjr�rrr
r�sr)rf)>r7Z
__future__r�
contextlibr�r�rr9rrrEr#r�r�Zpylintrr	r0Z	USER_HOMEr/r�dirnamer
rr�version_infor%rr)r2r+�globalsZENV_HELPrr3r@rArBrGrKrTrVrUrQrFrarerirqr}�contextmanagerr�r�r�r�r~r�r�rrr�rrrrr
�<module>#s~	

	

"	

	
:!{#c