+GVQdZddlmZddlZddlZddlmZmZmZm Z m Z m Z m Z m Z mZddlmZddlmZddlmZmZddlmZmZejd krddlZd Zned \ZZGd d eZedZGddZdS)z*TOML configuration support for coverage.py) annotationsN) AnyCallableDictIterableListOptionalTupleTypeTypeVar)env) ConfigError)import_third_partysubstitute_variables)TConfigSectionOutTConfigValueOut) ralphaTtomliceZdZdZdS)TomlDecodeErrorz>An exception class that exists even when toml isn't installed.N)__name__ __module__ __qualname____doc__/srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/coverage/tomlconfig.pyrrsHHDrrTWantceZdZdZd.dZd/d Zd0dZd1dZd2dZd3dZ d4dZ d5dZ d6dZ d7dZ d2dZd8d#Zd3d$Zd9d&Zd:d'Zd:d(Zd;d*Zd?????9Y'' h111 &RGGII  & & & & & & & & & & & & & & &   III    9#M)44 * 9 9 9%c#hh//S8 9: y!;Ybl[[[H} 8 8W!#**X"6"6777IsMA=A1% A=1A55A=8A59A== B  B B11C"CC"sectionr51Tuple[Optional[str], Optional[TConfigSectionOut]]cdg}|D]W}||z}|d} |j|d}|ddD] }||} n#t$rYRwxYwndS||fS)aCGet a section from the data. Arguments: section (str): A section name, which can be dotted. Returns: name (str): the actual name of the section that was found, if any, or None. data (str): the dict of data in the section, or None if not found. ztool.coverage..rN)NN)splitr*KeyError)r+rJprefixesprefix real_sectionpartsr*parts r _get_sectionzTomlConfigParser._get_sectionFs%%  F!G+L &&s++E yq*!!""I&&D:DD&     E:T!!s(A  AAoptionTuple[str, TConfigValueOut]c||\}}|td||J ||}n$#t$rtd|d|dwxYw||fS)z;Like .get, but returns the real section name and the value.N No section: z No option z in section: )rVrrP)r+rJrWnamer*values r _getzTomlConfigParser._getas&&w// d <8W8899 9 VLEE V V VJ6JJ$JJKKQU U VU{s ;!Arc|||\}}t|trt|tj}||fS)zGet a single-valued option. Performs environment substitution if the value is a string. Other types will be converted later as needed. )r]r3r5rr6environr+rJrWr[r\s r _get_singlezTomlConfigParser._get_singlemsH ii00 e eS ! ! <( ;;EU{rcB||\}}|dS||vS)NFrV)r+rJrW_r*s r has_optionzTomlConfigParser.has_optionxs-##G,,4 <5~r Optional[str]c6||\}}|Sr)rcr+rJr[rds r rSzTomlConfigParser.real_section~s##G,,a rcP||\}}t|Sr))rVr%rhs r has_sectionzTomlConfigParser.has_sections%##G,,aDzzrc||\}}|td|t|S)NrZ)rVrlistkeysr+rJrdr*s r optionszTomlConfigParser.optionssK##G,,4 <8W8899 9DIIKK   rrc:||\}}|piSr)rcrns r get_sectionzTomlConfigParser.get_sections###G,,4zrrc8|||\}}|Sr))ra)r+rJrWrdr\s r getzTomlConfigParser.gets ##GV445 rr\type_ Type[TWant] converter Optional[Callable[[Any], TWant]] type_descr!c t||r|St|tr<|: ||S#t$r!}td|d|d|d||d}~wwxYwtd|d|d|d|)zCheck that `value` has the type we want, converting if needed. Returns the resulting value of the desired type. NzOption []z couldn't convert to : z is not )r3r5 Exception ValueError)r+rJrWr\rtrvrxes r _check_typezTomlConfigParser._check_types eU # # L eS ! ! i&;  y'''    \w\\\\i\\SX\\  Gw G G G G G Ge G G   s 6 A!AA!c|||\}}ddd}||||t|jdS)NTF)truefalsez a boolean)rarr% __getitem__)r+rJrWr[r\ bool_stringss r getbooleanzTomlConfigParser.getbooleansJ&&w77 e $u55 feT<;SU`aaarTuple[str, List[str]]c|||\}}||||tdd}d|D}||fS)zJGet a list of strings, substituting environment variables in the elements.Nza listcBg|]}t|tjSr)rr6r_).0r\s r z.TomlConfigParser._get_list..s%NNNe&ubj99NNNr)r]rrl)r+rJrWr[valuess r _get_listzTomlConfigParser._get_listsSyy&11 f!!$dHMMNNvNNNV|rc8|||\}}|Sr))r)r+rJrWrdrs r getlistzTomlConfigParser.getlistsNN7F33 6 rc |||\}}|D]^}|} tj|,#tj$r!}t d|d|d|d||d}~wwxYw|S)Nz Invalid [z].z value r{)rstripr@compileerrorr)r+rJrWr[rr\r~s r getregexlistzTomlConfigParser.getregexlists~~gv66 f \ \EKKMME \ 5!!!!8 \ \ \!"Sd"S"Sf"S"SU"S"SPQ"S"STTZ[[ \ sAA8A33A8intc||||\}}||||ttdS)Nz an integer)rarrr`s r getintzTomlConfigParser.getints9&&w77 efeS#|LLLrfloatc|||\}}t|trt|}||||ttdS)Nza float)rar3rrrr`s r getfloatzTomlConfigParser.getfloatsV&&w77 e eS ! ! !%LLEfeUE9MMMrN)r$r%r&r')r-r.r&r/)rJr5r&rK)rJr5rWr5r&rX)rJr5rWr5r&r)rJr5rWr5r&r%)rJr5r&rf)rJr5r&r%)rJr5r&r/)rJr5r&r)rJr5rWr5r\rrtrurvrwrxr5r&r!)rJr5rWr5r&r)rJr5rWr5r&r/)rJr5rWr5r&r)rJr5rWr5r&r)rrrrr,r:rVr]rarerSrjrorqrsrrrrrrrrrr r#r#"sDD ''''2""""6         !!!!     4bbbb MMMMNNNNNNrr#) r __future__rr6r@typingrrrrrr r r r coverager coverage.exceptionsr coverage.miscrrcoverage.typesrr PYVERSIONr=r<r|rr!r#rrr rs10"""""" VVVVVVVVVVVVVVVVVVVVVV++++++BBBBBBBB=========***NNNKK.-g66G[     i   nNnNnNnNnNnNnNnNnNnNr