§
    ÷yIfí:  ã                  ó0  — d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	 ddl
mZmZmZ ddlZddlmZ ddlmZmZmZmZmZ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l!m"Z" ddl#m$Z$m%Z% ej&        dk    rddl'Z'nddl(Z'erddl)m*Z*  G d„ d¦  «        Z+dS )úJArguments manager class used to handle command-line arguments and options.é    )ÚannotationsN)ÚSequence)ÚTYPE_CHECKINGÚAnyÚTextIO)Úutils)Ú	_ArgumentÚ_CallableArgumentÚ_ExtendArgumentÚ_StoreArgumentÚ_StoreNewNamesArgumentÚ_StoreOldNamesArgumentÚ_StoreTrueArgument)ÚUnrecognizedArgumentActionÚ_UnrecognizedOptionError)Ú_HelpFormatter)Ú_convert_option_to_argumentÚ_parse_rich_type_value)ÚMAIN_CHECKER_NAME)ÚDirectoryNamespaceDictÚ
OptionDict)é   é   )Ú_ArgumentsProviderc                  óÆ   — e Zd ZdZ	 d/d0d
„Zed1d„¦   «         Zej        d2d„¦   «         Zd3d„Zd4d„Z	e
d5d„¦   «         Zd6d„Zd7d„Z	 d8d9d„Z	 d:d;d%„Zd<d&„Zd'd(œd=d+„Zd>d.„ZdS )?Ú_ArgumentsManagerr   NÚprogÚstrÚusageú
str | NoneÚdescriptionÚreturnÚNonec                óÌ   — t          j        ¦   «         | _        	 | j        | _        	 t          j        ||pd|t
          d¬¦  «        | _        	 i | _        	 i | _        	 i | _	        d S )Nz%(prog)s [options]Úresolve)r   r    r"   Úformatter_classÚconflict_handler)
ÚargparseÚ	NamespaceÚ_configÚ_base_configÚArgumentParserr   Ú_arg_parserÚ_argument_groups_dictÚ_option_dictsÚ_directory_namespaces)Úselfr   r    r"   s       úS/var/www/piapp/venv/lib/python3.11/site-packages/pylint/config/arguments_manager.pyÚ__init__z_ArgumentsManager.__init__3   s€   € õ  Ô)Ñ+Ô+ˆŒØ(à œLˆÔð	õ $Ô2ØØÐ/Ð/Ø#Ý*à&ð
ñ 
ô 
ˆÔð 	0àIKˆÔ"Ø4à46ˆÔØ@à=?ˆÔ"ØLÐLó    úargparse.Namespacec                ó   — | j         S )zNamespace for all options.©r+   ©r2   s    r3   Úconfigz_ArgumentsManager.configT   s   € ð Œ|Ðr5   Úvaluec                ó   — || _         d S ©Nr8   )r2   r;   s     r3   r:   z_ArgumentsManager.configY   s   € àˆŒˆˆr5   Úproviderr   c                óŽ  — |j         D ]¨\  }}|| j        |<   t          ||¦  «        }|j        p|j                             ¦   «         }|j                             |d¦  «        }|j        t          k    r'|j	        r |j	         
                    d¦  «        d         }|                      |||¦  «         Œ©|                      ¦   «          dS )z3Register an options provider and load its defaults.Nz

r   )Úoptionsr0   r   ÚsectionÚnameÚ
capitalizeÚoption_groups_descsÚgetr   Ú__doc__ÚsplitÚ_add_arguments_to_parserÚ_load_default_argument_values)r2   r>   ÚoptÚoptdictÚargumentrA   Úsection_descs          r3   Ú_register_options_providerz,_ArgumentsManager._register_options_provider]   sÏ   € à$Ô,ð 	Kð 	K‰LˆC�Ø&-ˆDÔ˜sÑ#Ý2°3¸Ñ@Ô@ˆHØÔ&ÐD¨(¬-×*BÒ*BÑ*DÔ*DˆGà#Ô7×;Ò;¸GÀTÑJÔJˆLð Œ}Õ 1Ò1Ð1°hÔ6FÐ1Ø'Ô/×5Ò5°fÑ=Ô=¸aÔ@�à×)Ò)¨'°<ÀÑJÔJÐJÐJà×*Ò*Ñ,Ô,Ð,Ð,Ð,r5   rA   rM   rL   r
   c                óö   — 	 | j         |         }nS# t          $ rF |r| j                             ||¦  «        }n| j                             |¬¦  «        }|| j         |<   Y nw xY w|                      ||¦  «         dS )z6Add an argument to the correct argument section/group.©ÚtitleN)r/   ÚKeyErrorr.   Úadd_argument_groupÚ_add_parser_option)r2   rA   rM   rL   Úsection_groups        r3   rH   z*_ArgumentsManager._add_arguments_to_parsern   sª   € ð		@Ø Ô6°wÔ?ˆMˆMøÝð 	@ð 	@ð 	@Øð SØ $Ô 0× CÒ CØ˜\ñ!ô !��ð !%Ô 0× CÒ CÈ'Ð CÑ RÔ R�Ø2?ˆDÔ& wÑ/Ð/Ð/ð	@øøøð 	×Ò ¨xÑ8Ô8Ð8Ð8Ð8s   ‚ �AA ÁA rU   úargparse._ArgumentGroupc                óR  — t          |t          ¦  «        r7 | j        |j        |j        |j        |j        |j        |j        |j	        dœŽ dS t          |t          ¦  «        rœ | j        |j        i |j        ¤|j        |j        |j        |j        |j        |j	        dœ¤Ž |j        d         sJ ‚|j        d         D ]?}|                      d|› �d|j        |j        t          j        |j        |j	        ¬¦  «         Œ@dS t          |t          ¦  «        r@ | j        |j        i |j        ¤|j        |j        |j        |j        |j        |j	        dœ¤Ž dS t          |t          ¦  «        r% | j        |j        |j        |j        |j        dœŽ dS t          |t           ¦  «        r. | j        |j        i |j        ¤|j        |j        |j        dœ¤Ž dS t          |t"          ¦  «        r= | j        |j        |j        |j        |j        |j        |j        |j	        |j        dœŽ dS t&          ‚)	zAdd an argument.)ÚactionÚdefaultÚtypeÚhelpÚmetavarÚchoicesÚ	old_namesú--Ústore)rX   rY   r[   )rX   r[   r\   )rX   rY   rZ   r[   r\   r]   ÚdestN)Ú
isinstancer   Úadd_argumentÚflagsrX   rY   rZ   r[   r\   r]   r   Úkwargsr)   ÚSUPPRESSr   r   r   r   ra   r   )rU   rL   Úold_names      r3   rT   z$_ArgumentsManager._add_parser_option~   sê  € õ
 �h¥Ñ/Ô/ð H	-Ø&ˆMÔ&Ø”Ø”Ø Ô(Ø”]Ø”]Ø Ô(Ø Ô(ðð ð ð ð ð õ ˜Õ"8Ñ9Ô9ð >	-Ø&ˆMÔ&Ø”ð	à”/ð	ð  ”Ø Ô(Ø”]Ø”]Ø Ô(Ø Ô(ð	ð 	ð 	ð 	ð 	ð ”? ;Ô/Ð/Ð/Ð/Ø$œO¨KÔ8ð 	ð 	�Ø×*Ò*Ø#˜�O�OØ"Ø$Ô,Ø!œÝ!Ô*Ø$Ô,Ø$Ô,ð +ñ ô ð ð ð	ð 	õ ˜Õ"8Ñ9Ô9ð &	-Ø&ˆMÔ&Ø”ð	à”/ð	ð  ”Ø Ô(Ø”]Ø”]Ø Ô(Ø Ô(ð	ð 	ð 	ð 	ð 	ð 	ð 	õ ˜Õ"4Ñ5Ô5ð 	-Ø&ˆMÔ&Ø”Ø”Ø Ô(Ø”]ð	ð ð ð ð ð õ ˜Õ"3Ñ4Ô4ð 	-Ø&ˆMÔ&Ø”ðà”/ðð  ”Ø”]Ø Ô(ðð ð ð ð ð ð õ ˜¥/Ñ2Ô2ð 	-Ø&ˆMÔ&Ø”Ø”Ø Ô(Ø”]Ø”]Ø Ô(Ø Ô(Ø”]ð	ð 	ð 	ð 	ð 	ð 	õ -Ð,r5   c                óP   — | j                              g | j        ¦  «        | _        dS )z3Loads the default values of all registered options.N)r.   Ú
parse_argsr:   r9   s    r3   rI   z/_ArgumentsManager._load_default_argument_valuesÍ   s"   € àÔ&×1Ò1°"°d´kÑBÔBˆŒˆˆr5   Ú	argumentsú	list[str]c                ó8  — 	 | j                              || j        ¦  «        \  | _        }n$# t          $ r t	          j        d¦  «         Y nw xY wg }|D ]4}|                     d¦  «        r|                     |dd…         ¦  «         Œ5|rt          |¬¦  «        ‚dS )zEParse the arguments found in a configuration file into the namespace.é    r_   é   N)r@   )	r.   Úparse_known_argsr:   Ú
SystemExitÚsysÚexitÚ
startswithÚappendr   )r2   rj   Úparsed_argsÚunrecognized_optionsrJ   s        r3   Ú_parse_configuration_filez+_ArgumentsManager._parse_configuration_fileÑ   sÊ   € ð	Ø'+Ô'7×'HÒ'HØ˜4œ;ñ(ô (Ñ$ˆDŒK˜˜øõ ð 	ð 	ð 	ÝŒH�R‰LŒLˆLˆLˆLð	øøøà*,ÐØð 	5ð 	5ˆCØ�~Š~˜dÑ#Ô#ð 5Ø$×+Ò+¨C°°°¬GÑ4Ô4Ð4øØð 	IÝ*Ð3GÐHÑHÔHÐHð	Ið 	Is   ‚(+ «AÁAúSequence[str] | Nonec                ó†   — |€t           j        dd…         n|}| j                             || j        ¦  «        \  | _        }|S )zAParse the arguments found on the command line into the namespace.Né   )rq   Úargvr.   ro   r:   )r2   rj   ru   s      r3   Ú!_parse_command_line_configurationz3_ArgumentsManager._parse_command_line_configurationà   sJ   € ð %.Ð$5•C”H˜Q˜R˜R”L�L¸9ˆ	à#'Ô#3×#DÒ#DØ�t”{ñ$
ô $
Ñ ˆŒ�[ð Ðr5   © ÚstreamúTextIO | NoneÚskipsectionsútuple[str, ...]c                ó\  — i }g }t          | j        j        d„ ¬¦  «        D ]ß}|j        }|sJ ‚||v rŒg }d„ |j        D ¦   «         }t          |d„ ¬¦  «        D ]‹}	d|	j        v rŒ|	j        d         dd…         }
	 | j        |
         }n# t          $ r Y Œ<w xY w|                     |
|t          | j
        |
                     d	d
¦  «        ¦  «        f¦  «         d„ |D ¦   «         }ŒŒ|r|                     |¦  «         |||<   Œà|pt          j        }d}|D ]˜}|rt          d|¬¦  «         t          j        ¦   «         5  t          j        dt$          ¬¦  «         t'          j        ||                     ¦   «         t          ||         ¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   d}Œ™dS )zsWrite a configuration file according to the current configuration
        into the given stream or stdout.
        c                ó&   — | j         dk    | j         fS ©NÚMainrP   ©Úxs    r3   ú<lambda>z4_ArgumentsManager._generate_config.<locals>.<lambda>ö   ó   € ˜1œ7 fÒ,¨a¬gÐ6€ r5   ©Úkeyc                óF   — g | ]}t          |t          j        ¦  «        °|‘ŒS r}   ©rb   r)   Ú_SubParsersAction©Ú.0Úis     r3   ú
<listcomp>z6_ArgumentsManager._generate_config.<locals>.<listcomp>þ   ó;   € ð ð ð àÝ! !¥XÔ%?Ñ@Ô@ðØðð ð r5   c                ó,   — | j         d         dd …         S ©Nr   rn   ©Úoption_stringsr†   s    r3   rˆ   z4_ArgumentsManager._generate_config.<locals>.<lambda>  s   € ¸AÔ<LÈQÔ<OÐPQÐPRÐPRÔ<S€ r5   z--helpr   rn   Nú-Ú_c                óJ   — g | ] \  }}}|                      d ¦  «        °|||f‘Œ!S )Ú
deprecated)rE   )r�   ÚnÚdÚvs       r3   r’   z6_ArgumentsManager._generate_config.<locals>.<listcomp>  sE   € ð ð ð Ù"+ 1 a¨¸a¿eºeÀLÑ>QÔ>QðØ˜˜1�Iðð ð r5   Fú
)ÚfileÚignore)ÚcategoryT)Úsortedr.   Ú_action_groupsrQ   Ú_group_actionsr—   r0   rR   rt   Úgetattrr:   Úreplacerq   ÚstdoutÚprintÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningr	   Úformat_sectionÚupper)r2   r~   r€   Úoptions_by_sectionÚsectionsÚgroupÚ
group_namer@   Úoption_actionsrJ   ÚoptnamerK   ÚprintedrA   s                 r3   Ú_generate_configz"_ArgumentsManager._generate_configì   s…  € ð  ÐØˆÝØÔÔ+Ø6Ð6ð
ñ 
ô 
ð (	9ð (	9ˆEð œˆJØÐÐÐØ˜\Ð)Ð)ØàˆGðð àÔ-ðñ ô ˆNõ
 ˜nÐ2SÐ2SÐTÑTÔTð ð �Ø˜sÔ1Ð1Ð1ØàÔ,¨QÔ/°°°Ô3�ðØ"Ô0°Ô9�G�GøÝð ð ð Ø�Hðøøøð —’àØÝ ¤¨W¯_ª_¸SÀ#Ñ-FÔ-FÑGÔGðñô ð ðð Ø/6ðñ ô ��ð ð 9Ø—’ 
Ñ+Ô+Ð+Ø18Ð" :Ñ.øØÐ%�3œ:ˆØˆØð 	ð 	ˆGØð )Ý�d Ð(Ñ(Ô(Ð(ÝÔ(Ñ*Ô*ð ð ÝÔ'¨Õ;MÐNÑNÔNÐNÝÔ$Ø˜GŸMšM™OœO­VÐ4FÀwÔ4OÑ-PÔ-Pñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 ˆGˆGð	ð 	s%   Á:BÂ
BÂBÄ;AFÆF"	Æ%F"	c                ó4   — | j                              ¦   «         S )z7Return the usage string based on the available options.)r.   Úformat_helpr9   s    r3   r[   z_ArgumentsManager.help)  s   € àÔ×+Ò+Ñ-Ô-Ð-r5   F)Úminimalrº   Úboolc          	     óš  — t          j        ¦   «         }t          j        d¬¦  «        }|                     t          j        d¦  «        |¦  «         t          j        d¬¦  «        }|                     t          j        d¦  «        |¦  «         t          | j        j        d„ ¬¦  «        D �]ê}|j        dv rŒ|j	        sŒt          j        ¦   «         }d„ |j	        D ¦   «         }t          |d	„ ¬¦  «        D �]e}|j
        d
         dd…         }		 | j        |	         }
n# t          $ r Y Œ3w xY w|
                     d¦  «        rŒM|so|
                     dd¦  «        }t          |t          ¦  «        sJ ‚t!          j        |d¬¦  «        }|D ])}|                     t          j        |¦  «        ¦  «         Œ*t'          | j        |	                     dd¦  «        ¦  «        }|sT|sP|                     t          j        |	› d�¦  «        ¦  «         |                     t          j        ¦   «         ¦  «         �Œ=d|
v r)t          |
d         t.          ¦  «        sJ ‚d|
d         v r�Œjt          |t0          j        ¦  «        r|j        }nHt          |t6          t8          f¦  «        r,t          |d
         t0          j        ¦  «        rd„ |D ¦   «         }|
                     d¦  «        dk    rd                     d„ |D ¦   «         ¦  «        }|r||
                     d¦  «        k    r�Œ)|                     |	|¦  «         |                     t          j        ¦   «         ¦  «         �Œg|j        sJ ‚|r-|                     |j                             ¦   «         |¦  «         �Œìt          j        |¦  «        }tA          j!        |¦  «         t          |¦  «        S )z_Write a configuration file according to the current configuration into
        stdout.
        T)Úis_super_tableÚtoolÚpylintc                ó&   — | j         dk    | j         fS r„   rP   r†   s    r3   rˆ   z9_ArgumentsManager._generate_config_file.<locals>.<lambda>:  r‰   r5   rŠ   >   úoptional argumentsr@   ÚCommandsc                óF   — g | ]}t          |t          j        ¦  «        °|‘ŒS r}   r�   r�   s     r3   r’   z;_ArgumentsManager._generate_config_file.<locals>.<listcomp>E  r“   r5   c                ó,   — | j         d         dd …         S r•   r–   r†   s    r3   rˆ   z9_ArgumentsManager._generate_config_file.<locals>.<lambda>J  s   € ¸qÔ?OÐPQÔ?RÐSTÐSUÐSUÔ?V€ r5   r   rn   NÚhide_from_config_filer[   Ú éO   )Úwidthr˜   r™   z =re   Ú	new_namesc                ó   — g | ]	}|j         ‘Œ
S r}   )Úpatternr�   s     r3   r’   z;_ArgumentsManager._generate_config_file.<locals>.<listcomp>t  s   € Ð6Ð6Ð6¨1˜QœYÐ6Ð6Ð6r5   rZ   Ú
py_versionú.c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r=   )r   r�   s     r3   ú	<genexpr>z:_ArgumentsManager._generate_config_file.<locals>.<genexpr>x  s(   è è € Ð$;Ð$;°¥S¨¡V¤VÐ$;Ð$;Ð$;Ð$;Ð$;Ð$;r5   rY   )"ÚtomlkitÚdocumentÚtableÚaddr‹   r£   r.   r¤   rQ   r¥   r—   r0   rR   rE   rb   r   ÚtextwrapÚwrapÚcommentr¦   r:   r§   ÚnlÚdictÚreÚPatternrË   ÚlistÚtupleÚjoinÚlowerÚdumpsÚtomllibÚloads)r2   rº   Útoml_docÚ
tool_tableÚpylint_tool_tabler²   Úgroup_tabler´   rX   rµ   rK   Úhelp_msgÚ	help_textÚliner;   Útoml_strings                   r3   Ú_generate_config_filez'_ArgumentsManager._generate_config_file-  sø  € õ Ô#Ñ%Ô%ˆÝ”]°$Ð7Ñ7Ô7ˆ
Ø�Š•W”[ Ñ(Ô(¨*Ñ5Ô5Ð5å#œM¸Ð>Ñ>Ô>ÐØ�Š•w”{ 8Ñ,Ô,Ð.?Ñ@Ô@Ð@åØÔÔ+Ø6Ð6ð
ñ 
ô 
ð L	Hñ L	HˆEð
 Œ{ÐKÐKÐKØð Ô'ð Øå!œ-™/œ/ˆKðð àÔ-ðñ ô ˆNõ
 ! Ð5VÐ5VÐWÑWÔWð 6.ñ 6.�Ø Ô/°Ô2°1°2°2Ô6�ðØ"Ô0°Ô9�G�GøÝð ð ð Ø�Hðøøøð —;’;Ð6Ñ7Ô7ð Øð ð ?Ø&Ÿ{š{¨6°2Ñ6Ô6�HÝ% hµÑ4Ô4Ð4Ð4Ð4Ý (¤¨h¸bÐ AÑ AÔ A�IØ )ð ?ð ?˜Ø#Ÿš­¬¸Ñ(=Ô(=Ñ>Ô>Ð>Ð>õ   ¤¨W¯_ª_¸SÀ#Ñ-FÔ-FÑGÔG�ð ð Ø"ð 6Ø#Ÿš­¬¸7¸¸¸Ñ(GÔ(GÑHÔHÐHØ#Ÿš­¬
©¬Ñ5Ô5Ð5Ùð ˜wÐ&Ð&Ý% g¨hÔ&7½Ñ>Ô>Ð>Ð>Ð>Ø" g¨hÔ&7Ð7Ð7Ù õ ˜e¥R¤ZÑ0Ô0ð 7Ø!œM�E�EÝ ­­e }Ñ5Ô5ð 7½*Ø˜!”H�bœjñ;ô ;ð 7ð 7Ð6°Ð6Ñ6Ô6�Eð —;’;˜vÑ&Ô&¨,Ò6Ð6ØŸHšHÐ$;Ð$;°UÐ$;Ñ$;Ô$;Ñ;Ô;�Eð ð ˜u¨¯ª°IÑ(>Ô(>Ò>Ð>Ùð —’ ¨Ñ/Ô/Ð/Ø—’¥¤
¡¤Ñ-Ô-Ð-Ñ-à”;ÐÐÐØð HØ!×%Ò% e¤k×&7Ò&7Ñ&9Ô&9¸;ÑGÔGÐGùå”m HÑ-Ô-ˆõ 	Œ�kÑ"Ô"Ð"å�;ÑÔÐs   ÄDÄ
D)Ä(D)rµ   r   c                ó¨   — | j                              d|                     dd¦  «        › �t          |¦  «        g| j        ¦  «        d         | _        dS )z&Set an option on the namespace object.r_   r™   r˜   r   N)r.   ro   r§   r   r:   )r2   rµ   r;   s      r3   Ú
set_optionz_ArgumentsManager.set_option�  sV   € àÔ&×7Ò7Ø-�'—/’/ # sÑ+Ô+Ð-Ð-Õ/EÀeÑ/LÔ/LÐMØŒKñ
ô 
ð ôˆŒˆˆr5   )NN)r   r   r    r!   r"   r!   r#   r$   )r#   r6   )r;   r6   r#   r$   )r>   r   r#   r$   )rA   r   rM   r!   rL   r
   r#   r$   )rU   rV   rL   r
   r#   r$   )r#   r$   )rj   rk   r#   r$   r=   )rj   rx   r#   rk   )Nr}   )r~   r   r€   r�   r#   r$   )r#   r   )rº   r»   r#   r   )rµ   r   r;   r   r#   r$   )Ú__name__Ú
__module__Ú__qualname__rF   r4   Úpropertyr:   ÚsetterrN   rH   ÚstaticmethodrT   rI   rw   r|   r·   r[   rê   rì   r}   r5   r3   r   r   0   s�  € € € € € ØTÐTð NRðMð Mð Mð Mð MðB ðð ð ñ „Xðð „]ðð ð ñ „]ðð-ð -ð -ð -ð"9ð 9ð 9ð 9ð  ðL-ð L-ð L-ñ „\ðL-ð\Cð Cð Cð CðIð Ið Ið Ið  15ð
ð 
ð 
ð 
ð 
ð MOð;ð ;ð ;ð ;ð ;ðz.ð .ð .ð .ð 8=ð ^ ð ^ ð ^ ð ^ ð ^ ð ^ ð@ð ð ð ð ð r5   r   ),rF   Ú
__future__r   r)   rÙ   rq   rÔ   rª   Úcollections.abcr   Útypingr   r   r   rÐ   r¿   r	   Úpylint.config.argumentr
   r   r   r   r   r   r   Úpylint.config.exceptionsr   r   Úpylint.config.help_formatterr   Úpylint.config.utilsr   r   Úpylint.constantsr   Úpylint.typingr   r   Úversion_inforà   ÚtomliÚ pylint.config.arguments_providerr   r   r}   r5   r3   ú<module>rÿ      sî  ðð
 QÐ Pà "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -à €€€à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ .Ð .Ð .Ð .Ð .Ð .Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <àÔ�wÒÐØ€N€N€N€NàÐÐÐð ð DØCÐCÐCÐCÐCÐCðbð bð bð bð bñ bô bð bð bð br5   