bg$ <UdZddlmZddlZddlZddlmZmZddlm Z ddl m Z m Z ddl mZmZddlmZmZmZmZmZmZdd lmZdd lmZe rdd lmZd.dZd/dZd0dZd0dZ d0dZ!d0dZ"d0dZ#d0dZ$d ed!fd e d"fd e!dfd e"d#fd$e#d"fd$e#d%fd$e$d&fd'Z%d(e&d)<d1d-Z'dS)2z1Utils for arguments/options parsing and handling.) annotationsN)CallableSequence)Path) TYPE_CHECKINGAny) extensionsutils)_CallableArgument_ExtendArgument_StoreArgument_StoreNewNamesArgument_StoreOldNamesArgument_StoreTrueArgument)_CallbackAction)ArgumentPreprocessingError)Runoptstroptdictdict[str, Any]return{_StoreArgument | _StoreTrueArgument | _CallableArgument | _StoreOldNamesArgument | _StoreNewNamesArgument | _ExtendArgumentc( d|vr!d|vrtjd|td|g}d|vr|d|dgz }|dd}|d kret |||d d |d d |dd|ddSt |t st|trzt|||d d |di|dd|dd|ddS |d }n/#t$r"tjd|td}YnwxYw|dkrt|||gn||d|dd|d d |dd |dd|dd|dd Sd|vr@d|dvrt|||d|dd|d d |dd |dd|di|dd Sd|dvrt|||d|dd|d d |dd |dd|di|dd Sd|vrt|||d|dd|d d |dd |ddd|dgi|dd St||||d|dd|d d |dd |dd|dd S)z1Convert an optdict to an Argument class instance.levelhidez|The 'level' key in optdicts has been deprecated. Use 'hide' with a boolean to hide an option from the help message. optdict=z--short-actionstore store_truedefaultThelpFgroupN)flagsrr"arg_help hide_helpsectionkwargsmetavar)r&rr'r*r(r)r+zAn option dictionary should have a 'default' key to specify the option's default value. This key will be required in pylint 3.0. It is not required for 'store_true' and callable actions. optdict=extendtypechoicesdest) r&rr"arg_typer.r'r+r(r)r/ old_names) r&r"r0r.r'r+r(r*r) new_names) r&rr"r0r.r'r+r(r))warningswarnDeprecationWarninggetr isinstancer issubclassrr KeyErrorr rrr )rrr&rr"s d/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/config/utils.py_convert_option_to_argumentr;s'fG33  ! ! !     #ZZLE' (gg&(())[[7 + +F !KK 400[[,,kk&%00KK..      fc " "  z&/'J'J   [[,,;;x,,kk&%00KK..KK 400     )$   ! ! !     !/BBwV_KK 400[[,,KK 2..kk&%00KK..VT**    7 '(+ + +)  It44 VR00 Ir22!++fe44{{8R00 GT22     '(+ + +)  It44 VR00 Ir22!++fe44{{8R00 GT22    %V_KK 400[[,,KK 2..kk&%00'&/!23KK..      It,,VR(( Ir**++fe,, GT**    s%E..)FFvaluerc~t|ttfrdd|DSt|tjrt |jSt|tr1dd| DSt |S)z%Parse rich (toml) types into strings.,c34K|]}t|VdS)N)_parse_rich_type_value).0is r: z)_parse_rich_type_value..s+AAa.q11AAAAAAc3*K|]\}}|d|VdS):N)rAkvs r:rCz)_parse_rich_type_value..s0==tq!1 q ======rD) r7listtuplejoinrePatternrpatterndictitems)r<s r:r@r@s%$''BxxAA5AAAAAA%$$"5=!!!%>xx==u{{}}====== u::rDrunr str | NoneNonec,|Jt|dS)zhExecute arbitrary code from the init_hook. This can be used to set the 'sys.path' for example. N)execrRr<s r: _init_hookrXs    KKKKKrDc|J||_dS)zSet the rcfile.N)_rcfilerWs r: _set_rcfiler[    CKKKrDc|J||_dS)zSet the output.N)_outputrWs r: _set_outputr_r\rDcf|J|jtj|dS)z,Add plugins to the list of loadable plugins.N)_pluginsr,r _splitstriprWs r: _add_pluginsrcs5    L)%0011111rDc|Jd|_dS)NT)verboserWs r:_set_verbose_moderfs ===CKKKrDc|JttjjD]T}|jdkrG|jds-d|j}||jvr|j |UdS)zEnable all extensions.Nz.py_zpylint.extensions.) rr __file__parentiterdirsuffixstem startswithraappend)rRr<filenameextension_names r:_enable_all_extensionsrrs ===,--4<<>>44 ?e # #HM,D,DS,I,I #A(-AANS\11 ##N333 44rDTF )z --init-hookz--rcfilez--outputz--load-pluginsz --verbosez-vz--enable-all-extensionsz>dict[str, tuple[bool, Callable[[Run, str | None], None], int]]PREPROCESSABLE_OPTIONSargs Sequence[str] list[str]c,g}d}|t|kr{||}|ds|||dz }L |dd\}}n#t$r|d}}YnwxYwd}t D];\}} | d} | dkr ||kr|}||d| r|}<||||dz }t |\} } } | rQ|O|dz }|t|ks||drtd|d||}n| s|td|d | |||dz }|t|k{|S) z;Pre-process options before full config parsing has started.rr=NrvzOption z expects a valuez doesn't expect a value)lenrnrosplit ValueErrorrxrQr)rRryprocessed_argsrBargumentoptionr<matched_option option_namedatato_matchtakeargcbrhs r:_preprocess_optionsrs "N A c$ii--7""3''   ! !( + + + FA  +$NN322MFEE + + +$dEFFF +!7!=!=!?!? - - KAwH1}}[((%0N"";yy#9:: -!,  !  ! !( + + + FA /?Q  Xu} FACII~~a!3!3C!8!8~01S61S1S1STTTGEE XU.,-Vv-V-V-VWW W 3 QK c$ii--N sA,,A=<A=)rrrrrr)r<rrr)rRrr<rSrrT)rRrryrzrr{)(__doc__ __future__rrMr3collections.abcrrpathlibrtypingrrpylintr r pylint.config.argumentr r r rrrpylint.config.callback_actionsrpylint.config.exceptionsrpylint.lint.runrr;r@rXr[r_rcrfrrrx__annotations__rrGrDr:rsO 877"""""" ........%%%%%%%%$$$$$$$$;:::::??????$######uuuup  2222  4444**a({A&{A&\1-*A. #Q ' %'=qA)6,,,,,,rD