bg7:UdZddlmZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z m Z mZmZmZddlmZddlmZdd lmZmZdd lmZmZdd lmZejd krdd l mZndd lmZee e!e"e#e e ee ee e ee!dffZ$ d8dZ%d8dZ&hdZ'hdZ(d9dZ)d:dZ*d:dZ+d8dZ,d;dZ-dzDefinition of an Argument class and transformers for various argument types. An Argument instance represents a pylint option to be handled by an argparse.ArgumentParser ) annotationsN)Callable)glob)AnyPatternSequenceTupleUnion) interfaces)utils)_CallbackAction _ExtendAction)_NewNamesAction_OldNamesAction) PY38_PLUS))Literal.valuestrreturn Sequence[str]c|s tjStj|}|D]6}|tjvr&t j|dgtjR7|S)z9Transforms a comma separated string of confidence values.z should be in )r CONFIDENCE_LEVEL_NAMES pylint_utils _check_csvargparseArgumentTypeError)rvalues confidences g/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/config/argument.py_confidence_transformerr".s~ 100  $U + +F Z> > >,MM'L)J'L'LMM  ? Mc*tj|S)z$Transforms a comma separated string.)rrrs r!_csv_transformerr&;s  "5 ) ))r#>yyestrue>nnofalseboolc|}|tvrdS|tvrdStjdd|dgttR)z4Transforms a yes/no or stringified bool into a bool.TFNzInvalid yn value 'z', should be in )lower YES_VALUES NO_VALUESrrr%s r!_yn_transformerr2Dsh KKMME t u  $ S5SS9R:9R 9R9RSS  r#cV|stjdtj|S)z3Check that a string is not empty and remove quotes.z!Option cannot be an empty string.)rrr_unquoter%s r!_non_empty_string_transformerr5Ps. N()LMMM   ' ''r#cztjtj|S)z$Expand user and variables in a path.)ospath expandvars expanduserr%s r!_path_transformerr;Ws( 7  bg0077 8 88r#cg}t|D]3}|tt|d4|S)ziTransforms a comma separated list of paths while expanding user and variables and glob patterns. T) recursive)r&extendrr;)rpathsr8s r!_glob_paths_csv_transformerr@\sRE ''DD T+D11TBBBCCCC Lr#tuple[int, ...]c td|dddD}n&#t$rt j|ddwxYw|S)z1Transforms a version string into a version tuple.c34K|]}t|VdS)N)int).0vals r! z*_py_version_transformer..is(OOSCOOOOOOr#,.z? has an invalid format, should be a version string. E.g., '3.8'N)tuplereplacesplit ValueErrorrr)rversions r!_py_version_transformerrOfsOOEMM#s,C,C,I,I#,N,NOOOOO ( U U U    Ns AA#A& Pattern[str]c tj|S#tj$r/}d|d|jd|j}t j||d}~wwxYw)zReturn `re.compile(value)`.z&Error in provided regular expression: z beginning at index z: N)recompileerrorposmsgrr)rerVs r!_regex_transformerrXqsp5z%   8555bubbRSRWbb[\[`bb(--145sA*AASequence[Pattern[str]]crg}t|D]$}|t|%|S)z9Transforms a comma separated list of regular expressions.)r&appendrXrpatternspatterns r!_regexp_csv_transfomerr_zsA#%H#E**55*7334444 Or#c 6g}t|D]}|tjt t j|dddzt j|z|S)z?Transforms a comma separated list of regular expressions paths.\z\\|) r&r[rRrSrpathlibPureWindowsPathrKas_posixr\s r!_regexp_paths_csv_transfomerrfs#%H#E**   JG+G4455==dFKK)'22;;==>       Or#)choicecsvfloatrDr non_empty_stringr8glob_paths_csv py_versionregexp regexp_csvregexp_paths_csvstringynz*dict[str, Callable[[str], _ArgumentTypes]]_TYPE_TRANSFORMERSceZdZdZdd Zd S) _ArgumentaClass representing an argument to be parsed by an argparse.ArgumentsParser. This is based on the parameters passed to argparse.ArgumentsParser.add_message. See: https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.add_argument flags list[str]arg_helpr hide_helpr-section str | NonerNonec||_ ||_ |dd|_ |rtj|_||_dS)N%z%%)rurxrKhelprSUPPRESSry)selfrurwrxrys r!__init__z_Argument.__init__sS '"@$$S$// .  * )DI 22r#N) rurvrwrrxr-ryrzrr{)__name__ __module__ __qualname____doc__rr#r!rtrts2333333r#rtc$eZdZdZdfd ZxZS)_BaseStoreArgumentaBase class for store arguments to be parsed by an argparse.ArgumentsParser. This is based on the parameters passed to argparse.ArgumentsParser.add_message. See: https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.add_argument rurvactionrdefault_ArgumentTypesrwrxr-ryrzrr{cpt||||||_ ||_dSN)rurwrxry)superrrrrrurrrwrxry __class__s r!rz_BaseStoreArgument.__init__sH (i     6 00r#)rurvrrrrrwrrxr-ryrzrr{rrrrr __classcell__rs@r!rrsG1111111111r#rc$eZdZdZdfd ZxZS)_StoreArgumenta Class representing a store argument to be parsed by an argparse.ArgumentsParser. This is based on the parameters passed to argparse.ArgumentsParser.add_message. See: https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.add_argument rurvrrrrarg_typechoiceslist[str] | Nonerwmetavarrxr-ryrzrr{c t|||||| t||_ ||_ ||_dSN)rurrrwrxry)rrrrtyperr rrurrrrrwrrxryrs r!rz_StoreArgument.__init__sh     'x0 U     r#)rurvrrrrrrrrrwrrrrxr-ryrzrr{rrs@r!rrsG$ $ $ $ $ $ $ $ $ $ r#rc$eZdZdZdfd ZxZS)_StoreTrueArgumentaClass representing a 'store_true' argument to be parsed by an argparse.ArgumentsParser. This is based on the parameters passed to argparse.ArgumentsParser.add_message. See: https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.add_argument rurvrLiteral['store_true']rrrwrrxr-ryrzrr{cVt||||||dSr)rrrs r!rz_StoreTrueArgument.__init__ sB       r#)rurvrrrrrwrrxr-ryrzrr{rrs@r!rrsG          r#rc$eZdZdZdfd ZxZS)_DeprecationArgumenta Store arguments while also handling deprecation warnings for old and new names. This is based on the parameters passed to argparse.ArgumentsParser.add_message. See: https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.add_argument rurvrtype[argparse.Action]rrrrrrrwrrxr-ryrzrr{c t|||| ||_ ||_ t||_ ||_ ||_dSr)rrrrrrrrrrs r!rz_DeprecationArgument.__init__<ss (i     6 0&x0 U     r#)rurvrrrrrrrrrwrrrrxr-ryrzrr{rrs@r!rr4sG% % % % % % % % % % r#rc$eZdZdZdfd ZxZS)_ExtendArgumentaClass for extend arguments to be parsed by an argparse.ArgumentsParser. This is based on the parameters passed to argparse.ArgumentsParser.add_message. See: https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.add_argument rurvrLiteral['extend']rrrrrrwrxr-ryrzrrdestrr{c tr tj} nt} | |_ t || ||| |||| dSN) rurrrrrwrrxry)rrrrrr) rrurrrrrwrxryrr action_classrs r!rz_ExtendArgument.__init__lsl  )#1LL(L .   r#)rurvrrrrrrrrrwrrxr-ryrzrrrrzrr{rrs@r!rrdsG! ! ! ! ! ! ! ! ! ! r#rc$eZdZdZdfd ZxZS)_StoreOldNamesArgumentzStore arguments while also handling old names. This is based on the parameters passed to argparse.ArgumentsParser.add_message. See: https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser.add_argument rurvrrrrrrrwrrxr-kwargsdict[str, Any]ryrzrr{c tt|t|||||||  ||_dSr)rrrr rrurrrrwrrxrryrs r!rz_StoreOldNamesArgument.__init__P "   <rsI  #"""""  $$$$$$77777777777777((((((IIIIIIIINNNNNNNN&&&&&&v))))))  CL SM WS\ #s(O '    **** " ! !     ((((9999 5555       )5 1) (4# BB 33333333B11111111:, , , , , ', , , ^     +   <- - - - - 9- - - `) ) ) ) ) *) ) ) X"="="="="=1"="="=J"="="="="=1"="="=J# # # # # # # # # # r#