bgdZddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddlmZddlmZddlmZmZmZmZddlZddlmZdd lmZmZmZmZmZm Z m!Z!dd l"m#Z#m$Z$dd l%m&Z&dd l'm(Z(dd l)m*Z*ddl+m,Z,ddl-m.Z.m/Z/ddl0m1Z1ddl2m3Z3m4Z4e j5dkrddl6Z6nddl7Z6erddl8m9Z9ede,fZ:GddZ;dS)JArguments manager class used to handle command-line arguments and options.) annotationsN) OrderedDict)Sequence)Path) TYPE_CHECKINGAnyTextIOUnion)utils) _Argument_CallableArgument_ExtendArgument_StoreArgument_StoreNewNamesArgument_StoreOldNamesArgument_StoreTrueArgument)UnrecognizedArgumentAction_UnrecognizedOptionError)_HelpFormatter)Option) OptionParser)OptionsProviderMixIn)_convert_option_to_argument_parse_rich_type_value)MAIN_CHECKER_NAME)DirectoryNamespaceDict OptionDict) )_ArgumentsProviderr!ceZdZdZ d_d`d Zedad ZejdbdZedcdZejdddZdedZ dfdZ e dgdZ dhdZ did Z djdkd"Zdldmd$Z dndod)Zdpd.Zdqd4Zdrd6Z dsdtd<Zdhd=Z dudvdBZe dwdFZdhdGZdxdJZdydMZ djdzdPZdjd{dSZd|dUZd}dVZd>dWd~dYZ ddd^Z!dS)_ArgumentsManagerrNprogstrusage str | None descriptionreturnNonectj|_ |j|_ tj||pd|t d|_ i|_ i|_ i|_ tj 5tj dt||pddddn #1swxYwYg|_t!|_i|_i|_i|_d|_dS)Nz%(prog)s [options]resolve)r$r&r(formatter_classconflict_handlerignorecategoryr)argparse Namespace_config _base_configArgumentParserr _arg_parser_argument_groups_dict _option_dicts_directory_namespaceswarningscatch_warningsfilterwarningsDeprecationWarning reset_parsers_options_providersr _all_options_short_options_nocallback_options _mygroups _maxlevel)selfr$r&r(s p/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/config/arguments_manager.py__init__z_ArgumentsManager.__init__AsJ )++ ( L $2//#*&     0IK"446@=?"L $ & & , ,  #H7I J J J J   u{ + + + , , , , , , , , , , , , , , ,9;>Imm.0>@ :<s83B77B;>B;argparse.Namespacec|jS)zNamespace for all options.r5rGs rHconfigz_ArgumentsManager.configqs |valuec||_dSNrLrGrPs rHrNz_ArgumentsManager.configvs  rOlist[ConfigProvider]cHtjdtd|jS)NzHoptions_providers has been deprecated. It will be removed in pylint 3.0. stacklevelr<warnr?rArMs rHoptions_providersz#_ArgumentsManager.options_providerszs1  V     &&rOcLtjdtd||_dS)NzPSetting options_providers has been deprecated. It will be removed in pylint 3.0.rVrWrYrSs rHr[z#_ArgumentsManager.options_providerss4 ^     #(rOproviderr!c|jD]\}}||j|<t||}|jp|j}|j|d}|jtkr'|j r |j dd}| |||| dS)z3Register an options provider and load its defaults.Nz r) optionsr:rsectionname capitalizeoption_groups_descsgetr__doc__split_add_arguments_to_parser_load_default_argument_values)rGr]optoptdictargumentr` section_descs rH_register_options_providerz,_ArgumentsManager._register_options_providers$, K KLC&-D s #23@@H&D(-*B*B*D*DG#7;;GTJJL} 111h6F1'/55f==a@  ) )'< J J J J **,,,,,rOr`rlrkr c |j|}nS#t$rF|r|j||}n|j|}||j|<YnwxYw|||dS)z6Add an argument to the correct argument section/group.titleN)r9KeyErrorr8add_argument_group_add_parser_option)rGr`rlrk section_groups rHrgz*_ArgumentsManager._add_arguments_to_parsers @ 6w?MM @ @ @ S $ 0 C C\!! !% 0 C C' C R R 2?D &w / / / @  x88888s A A A rtargparse._ArgumentGroupc Rt|tr7|j|j|j|j|j|j|j|j ddSt|tr|j|ji|j |j|j|j|j|j|j d|j dsJ|j dD]?}|d|d|j|jtj |j|j @dSt|tr@|j|ji|j |j|j|j|j|j|j ddSt|tr%|j|j|j|j|jddSt|t r.|j|ji|j |j|j|jddSt|t"r=|j|j|j|j|j|j|j|j |jddSt&) zAdd an argument.)actiondefaulttypehelpmetavarchoices old_names--store)rwrxrz)rwrzr{)rwrxryrzr{r|destN) isinstancer add_argumentflagsrwrxryrzr{r|rkwargsr3SUPPRESSrrrrrr)rtrkold_names rHrsz$_ArgumentsManager._add_parser_options h / /H - &M & (]] ( (      "8 9 9> - &M & /   (]] ( (     ?;/ / //$OK8  **#OO"$,!!*$,$,+  "8 9 9& - &M & /   (]] ( (       "4 5 5 - &M & (]        "3 4 4 - &M & /  ] (        / 2 2 - &M & (]] ( (]      - ,rOcP|jg|j|_dS)z3Loads the default values of all registered options.N)r8 parse_argsrNrMs rHrhz/_ArgumentsManager._load_default_argument_valuess"&11"dkBB rO arguments list[str]c8 |j||j\|_}n$#t$rt jdYnwxYwg}|D]4}|dr||dd5|rt|dS)zEParse the arguments found in a configuration file into the namespace. r~rVN)r_) r8parse_known_argsrN SystemExitsysexit startswithappendr)rGr parsed_argsunrecognized_optionsris rH_parse_configuration_filez+_ArgumentsManager._parse_configuration_files '+'7'H'H4;(( $DK    HRLLLLL *, 5 5C~~d## 5$++CG444  I*3GHHH H I Is(+A  A Sequence[str] | Nonec|tjddn|}|j||j\|_}|S)zAParse the arguments found on the command line into the namespace.N)rargvr8rrN)rGrrs rH!_parse_command_line_configurationz3_ArgumentsManager._parse_command_line_configurationsJ%.$5CHQRRLL9 #'#3#D#D t{$ $   [rOr2ctjdtdtjd|_t t||_||j_ t|jj j |_ dS) DEPRECATED.zyreset_parsers has been deprecated. Parsers should be instantiated once during initialization and do not need to be reset.rVrW)#;)inline_comment_prefixes)r&N)r<rZr? configparser ConfigParsercfgfile_parserrrcmdline_parseroptions_managerset option_classATTRS_optik_option_attrs)rGr&s rHr@z_ArgumentsManager.reset_parserss  F      +7$.   +6???.2+#&t':'G'M#N#N   rOTConfigProvider own_groupboolc tjdtd|j|d|jD}t |dd}|r}|r{tj5tjdt| |j |j ||d d d n #1swxYwYnk|D]h\}}tj5tjdt| ||j||d d d n #1swxYwYi|D]\ } fd |jD}tj5tjdt| |||d d d n #1swxYwYd S) z)DEPRECATED: Register an options provider.zregister_options_provider has been deprecated. Options providers and arguments providers should be registered by initializing ArgumentsProvider. This automatically registers the provider on the ArgumentsManager.rVrWc&g|]}d|dv |S)groupr).0options rH z?_ArgumentsManager.register_options_provider..9s-" " " WF1I5M5MF5M5M5MrO option_groupsrr/r0Ncxg|]6}|dddk4|7S)rrr2)rdupper)rrgnames rHrz?_ArgumentsManager.register_options_provider..MsL!9=="--3355>>>>>rO)r<rZr?r[rr_getattrr=r>add_option_grouprarreadd_optik_optionr) rGr]rnon_group_spec_optionsgroupsrirjgdocgoptionsrs @rHregister_options_providerz+_ArgumentsManager.register_options_provider-s   Q       %%h///" " !)!1" " " ?B77  W/ W(**  ';MNNNN%%M''))$*                !7 W W W,..WW+H?QRRRR))(D4GgVVVWWWWWWWWWWWWWWW" G GKE4KKMME&.H (** G G';MNNNN%%eT8XFFF G G G G G G G G G G G G G G G G Gs71AC  CC39D88D< ?D< 4GG G group_name_r_list[tuple[str, OptionDict]]ctjdtd||jvr|j|}nt j|j|}|j|||j|<|dkr(||j j vr|j ||D]\}}t| ddtsd|d<tj5tjd t |||||d d d n #1swxYwYd S) rzadd_option_group has been deprecated. Option groups should be registered by initializing ArgumentsProvider. This automatically registers the group on the ArgumentsManager.rVrWroDEFAULTrwrcallbackr/r0N)r<rZr?rEoptparse OptionGrouprrbrr _sections add_sectionrrdr%r=r>r)rGrrr_r]rrirjs rHrz"_ArgumentsManager.add_option_groupVs   N        ' 'N:.EE(#:+@+@+B+BE   0 0 7 7 7).DN: &i''d&9&CCC#// ;;;# E ELCgkk(G< optik_option add_optionrBmaxrFlevel)rGr]rrirjargsrs rHrz"_ArgumentsManager.add_optik_option|s   :       $ & & F F  #H7I J J J J --hWEEMD' F F F F F F F F F F F F F F F+*DQ??s6A22A69A6tuple[list[str], OptionDict]c.tjdtdtj|}d|vr ||j|<nd|d<|j|d<d|vr6d|vr/|d|dd vr|dxxd z cc<|d=d t|zg}d |vr1||j|d <| d |d z|d =t| D] }||j vr| |!||fS)zwDEPRECATED: Get our personal option definition and return a suitable form for use with optik/optparse. zoptik_option has been deprecated. Parsing of option dictionaries should be done automatically by initializing an ArgumentsProvider.rVrWrwrrxrzN) store_true store_falsez [current: %default]r~short-)r<rZr?copyrDcb_set_provider_optionrdr%rCrlistkeysrpop)rGr]rirjrkeys rHrz_ArgumentsManager.optik_optionsc   B      )G$$ w  14D $X . . *GH "&"=GJ    '!!KK **6H%-JJJ#99 "s3xx  g  47D  0 1 KKgg.. / / /  '' ! !C$222 C   W}rOrstream TextIO | None skipsectionstuple[str, ...]c tjdtdi}g}t|jjdD]}|j}|sJ||vrg}d|jD}t|dD]} d| jvr | jd dd } |j | } n#t$rYz3_ArgumentsManager.generate_config..17f,ag6rOrcFg|]}t|tj|Srrr3_SubParsersActionris rHrz5_ArgumentsManager.generate_config..;!!X%?@@rOc,|jdddSNrrVoption_stringsrs rHrz3_ArgumentsManager.generate_config..sA.sE"+1aaeeL>Q>Q1IrOF filer/r0T)r<rZr?sortedr8_action_groupsrp_group_actionsrr:rqrrrNreplacerstdoutprintr=r>r format_sectionr)rGrroptions_by_sectionsectionsrrr_option_actionsrioptnamerjprintedr`s rHgenerate_configz!_ArgumentsManager.generate_configs  T         +66   ( 9( 9EJ  :\))G-N n2S2STTT  s111,Q/3"09GGH W__S#-F-FGG/6 9 +++18":.%3:  G )d(((((**  ';MNNNN$GMMOOV4Fw4O-P-P                GG  s% B$$ B10B1AF::F> F> ctjdtd|jD]\}tj5tjdt|dddn #1swxYwY]dS)z:DEPRECATED: Initialize configuration using default values.zload_provider_defaults has been deprecated. Parsing of option defaults should be done automatically by initializing an ArgumentsProvider.rVrWr/r0N)r<rZr?r[r=r> load_defaults)rGr]s rHload_provider_defaultsz(_ArgumentsManager.load_provider_defaultss  B      . ) )H(** ) )';MNNNN&&((( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s0A55A9 <A9 F config_file Path | Noneverbosectjdtd|s|rtdtjdSt tj | }| s tdt|d|j}|jd kr- |||n#t"j$rYnwxYwt'|d 5}||dddn #1swxYwYt+|jD]c\}}|d r|t3d d}|s|r||j|<d|r!td |dtjdSdS)zDEPRECATED: Read the configuration file but do not load it (i.e. dispatching values to each option's provider). :raises OSError: When the specified config file doesn't exist zGread_config_file has been deprecated. It will be removed in pylint 3.0.rVrWz1No config file found, using default configurationrNzThe config file z doesn't exist!z.toml utf_8_sig)encodingzpylint.zUsing config file '')r<rZr?rrstderrrospath expandvars expanduserexistsOSErrorr%rsuffix _parse_tomltomllibTOMLDecodeErroropen read_filerritemsrlenisupperr)rGr rparserfpsectvaluess rHread_config_filez"_ArgumentsManager.read_config_filesN  U       Gcj F27--k::;;FFHH !!## PNS-=-=NNNOO O$   ( (   f5555*    kK888 %B  $$$ % % % % % % % % % % % % % % %!%V%5%;%;%=%= > > < < f??9--2I 0 01D||~~<&<5;F$TZZ\\2  I 6 666SZ H H H H H H I Is$CC,+C,D""D&)D&rr#configparser.ConfigParserc*t|d5}tj|}dddn #1swxYwY |dd}n#t$rYdSwxYw|D]\}}|}t |ts0|D]d\}} t | tr | rdnd||<$t | trd | ||<Rt| ||<e|D]`\}} | ||| #tj$r0||| ||| Y]wxYw dS) zxDEPRECATED: Parse and handle errors of a toml configuration file. TODO: 3.0: Remove deprecated method. rb)modeNtoolpylintyesno,)rP)rrloadrqr rrdictrrjoinr%rrNoSectionErrorr) r r#r$contentsections_valuesr`r& section_namerrPs rHrz_ArgumentsManager._parse_toml1s+D ) ) ) 'Rl2&&G ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' %foh7OO    FF .4466 B BOGV"==??Lfd++ !' 0 0 eT**0.3%=UUF6NNt,,0%(XXe__F6NN%(ZZF6NN!' B B BJJ|V5JAAAA#2BBB&&|444JJ|V5JAAAAAB B B Bs/377A AA6Eload_configuration_from_config)rGrs rHload_configurationz$_ArgumentsManager.load_configurationds W      $ & & ? ?  #H7I J J J J66v>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s0A--A14A1rNdict[str, Any]ctjdtd|D]>\}}|dd}|j|}|||?dS)NzaDEPRECATED: load_configuration_from_config has been deprecated. It will be removed in pylint 3.0.rVrWrr)r<rZr?r rrB set_option)rGrNri opt_valuer]s rHr=z0_ArgumentsManager.load_configuration_from_configos  o     %llnn 0 0NC++c3''C(-H   Y / / / / 0 0rOrlist[str] | Nonechtjdtd|tjddnt |}|j|\}}|jD]J}|j }|j D]'}t||d}|t|||(K|S)zvDEPRECATED: Override configuration according to command line parameters. return additional arguments zVload_command_line_configuration has been deprecated. It will be removed in pylint 3.0.rVrWNr)r)r<rZr?rrrrrrDrN__dict__rrsetattr)rGrr_r]rNattrrPs rHload_command_line_configurationz1_ArgumentsManager.load_command_line_configuration|s  d     $|sx||d-88d8CC$0 - -H_F,,.. - -t44=e,,,,  -  rOr int | Nonecp|tjdtd|jS)z7Return the usage string based on the available options.NzeSupplying a 'level' argument to help() has been deprecated.You can call help() without any arguments.rVrW)r<rZr?r8 format_help)rGrs rHrzz_ArgumentsManager.helpsC   M="      ++---rOrctjdtd|dr |dd}n|j|dd}|d}|||dS)z.DEPRECATED: Optik callback for option setting.zMcb_set_provider_option has been deprecated. It will be removed in pylint 3.0.rVrWr~Nr)r<rZr?rrCrA)rGrrirPr#s rHrz(_ArgumentsManager.cb_set_provider_options  [     >>$   /abb'CC%c!""g.C =E U#####rOcjtjdtd|||dS)z6DEPRECATED: Set option on the correct option provider.zglobal_set_option has been deprecated. You can use _arguments_manager.set_option or linter.set_option to set options on the global configuration object.rVrWN)r<rZr?rA)rGrirPs rHr9z#_ArgumentsManager.global_set_optionsE   V      U#####rO)minimalrNc tj}tjd}|tjd|tjd}|tjd|t |jjdD]}|jdvr |j stj}d|j D}t |d D]e}|j d d d } |j | } n#t$rY3wxYw| d rM|so| dd} t| tsJt!j| d} | D])} |tj| *t'|j| dd}|sT|sP|tj| d|tj=d| vr)t| dt.sJd| dvrjt|t0jr|j}nHt|t6t8fr,t|d t0jr d|D}| ddkrdd|D}|r|| dkr)|| ||tjg|jsJ|r-||j|tj|}tAj!|t|S)z_Write a configuration file according to the current configuration into stdout. T)is_super_tabler,r-c&|jdk|jfSrrors rHrz9_ArgumentsManager._generate_config_file..rrOr>optional argumentsr_CommandscFg|]}t|tj|Srrrs rHrz;_ArgumentsManager._generate_config_file..rrOc,|jdddSrrrs rHrz9_ArgumentsManager._generate_config_file..sq?OPQ?RSTSUSU?VrOrrVNhide_from_config_filerzr2O)widthrrz =r new_namescg|] }|j Sr)patternrs rHrz;_ArgumentsManager._generate_config_file..s6661QY666rOry py_version.c34K|]}t|VdSrR)r%rs rH z:_ArgumentsManager._generate_config_file.. s($;$;SVV$;$;$;$;$;$;rOrx)"tomlkitdocumenttableaddrrr8rrprrr:rqrdrr%textwrapwrapcommentrrNrnlr2rePatternr[rtupler3lowerdumpsrloads)rGrNtoml_doc tool_tablepylint_tool_tabler group_tablerrwrrjhelp_msg help_textlinerP toml_strings rH_generate_config_filez'_ArgumentsManager._generate_config_files#%%]$777  W[((*555#M>>>w{8,,.?@@@   +66   L HL HE {KKK' !-//K-N !5V5VWWW6 .6 . /21226"09GGH;;677?&{{6266H%h44444 ( hb A A AI )??#(=(=>>>>  W__S#-F-FGG"6#7(G(GHHH# 555w&&%gh&7>>>>>"gh&777 eRZ007!MEEe}557*!Hbj;;776666E;;v&&,66HH$;$;U$;$;$;;;Eu I(>(>>>/// ----;  ; H!%%ek&7&7&9&9;GGGmH--   k""";s D D)(D) default_valuerrwNone | str | OptionDictc0|dkrtjdtd|dkrtjdtd|jd|ddt |g|jd |_d S) z&Set an option on the namespace object.rwznThe 'action' argument has been deprecated. You can use set_option without the 'action' or 'optdict' arguments.rVrWzoThe 'optdict' argument has been deprecated. You can use set_option without the 'action' or 'optdict' arguments.r~rrrN)r<rZr?r8rrrrN)rGrrPrwrjs rHrAz_ArgumentsManager.set_options _ $ $ M?"      o % % M?"     &77 -'//#s++ - -/Ee/L/L M K     rO)NN)r$r%r&r'r(r'r)r*)r)rJ)rPrJr)r*)r)rT)rPrTr)r*)r]r!r)r*)r`r%rlr'rkr r)r*)rtrurkr r)r*)r)r*)rrr)r*rR)rrr)r)r2)r&r%r)r*)T)r]rrrr)r*) rr%rr'r_rr]rr)r*) r]rrrrir%rjrr)r*)r]rrir%rjrr)r)Nr)rrrrr)r*)NF)r r rrr)r*)r rr#r(r)r*)rr r)r*)rNr?r)r*)rrCr)r)rrIr)r%) rr rir rPr r#r r)r*)rir%rPr r)r*)rNrr)r%)rwrw) rr%rPr rwr'rjrxr)r*)"__name__ __module__ __qualname__rerIpropertyrNsetterr[rmrg staticmethodrsrhrrr@rrrrrr r'rr;r>r=rHrzrr9rvrArrOrHr#r#>sOTTNR. . . . . `X ]]'''X'((((----"9999 L-L-L-\L-\CCCC I I I I 15     OOOOO$;?'G'G'G'G'GR$E$E$E$EL@@@@*%%%%PMO@@@@@D ) ) ) )@E(I(I(I(I(ITBBB\BB" ? ? ? ? 0 0 0 0(,. . . . . .$$$$* $ $ $ $8=^ ^ ^ ^ ^ ^ H-+:        rOr#)rs QP""""""  ######$$$$$$444444444444877777''''''444444TSSSSSSS......<<<<<<<<wNNNNDCCCCCC+-AAB{  {  {  {  {  {  {  {  {  {  rO