grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]ÌÐã@s�ddlmZddlmZmZddlZddlZddl Z ddl Z ddl Z ddl Z dddddd d d d d dddddddddddgZ dZdZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGd d„deƒZGd!d„deƒZGd"d „d eƒZGd#d „d eƒZGd$d „d eƒZGd%d „d eƒZGd&d „d eƒZeƒZGd'd„dƒZGd(d„deƒZGd)d„deƒZ Gd*d„deƒZ!Gd+d„deƒZ"Gd,d„de"ƒZ#Gd-d„de#ƒZ$Gd.d„deƒZ%Gd/d„deƒZ&dS)0é)ÚMutableMapping)Ú OrderedDictÚChainMapNÚNoSectionErrorÚDuplicateOptionErrorÚDuplicateSectionErrorÚ NoOptionErrorÚInterpolationErrorÚInterpolationDepthErrorÚInterpolationMissingOptionErrorÚInterpolationSyntaxErrorÚ ParsingErrorÚMissingSectionHeaderErrorÚ ConfigParserÚSafeConfigParserÚRawConfigParserÚ InterpolationÚBasicInterpolationÚExtendedInterpolationÚLegacyInterpolationÚ SectionProxyÚConverterMappingÚ DEFAULTSECTÚMAX_INTERPOLATION_DEPTHZDEFAULTé c@s1eZdZddd„Zdd„ZeZdS)ÚErrorÚcCs||_tj||ƒdS)N)ÚmessageÚ ExceptionÚ__init__)ÚselfÚmsg©r"ú1/opt/alt/python35/lib64/python3.5/configparser.pyr©s zError.__init__cCs|jS)N)r)r r"r"r#Ú__repr__­szError.__repr__N)Ú__name__Ú __module__Ú __qualname__rr$Ú__str__r"r"r"r#r¦s  rc@seZdZdd„ZdS)rcCs0tj|d|fƒ||_|f|_dS)NzNo section: %r)rrÚsectionÚargs)r r)r"r"r#r¶s zNoSectionError.__init__N)r%r&r'rr"r"r"r#r³s c@s"eZdZdddd„ZdS)rNcCsÏt|ƒdg}|dk rudt|ƒg}|dk rR|jdj|ƒƒ|jdƒ|j|ƒ|}n|jddƒtj|dj|ƒƒ||_||_ ||_ |||f|_ dS)Nz already existszWhile reading from z [line {0:2d}]z : section rzSection r) ÚreprÚappendÚformatÚextendÚinsertrrÚjoinr)ÚsourceÚlinenor*)r r)r1r2r!rr"r"r#rÄs        zDuplicateSectionError.__init__)r%r&r'rr"r"r"r#r¼s c@s"eZdZdddd„ZdS)rNcCsçt|ƒdt|ƒdg}|dk r�dt|ƒg}|dk r^|jdj|ƒƒ|jdƒ|j|ƒ|}n|jddƒtj|dj|ƒƒ||_||_ ||_ ||_ ||||f|_ dS) Nz in section z already existszWhile reading from z [line {0:2d}]z : option rzOption r) r+r,r-r.r/rrr0r)Úoptionr1r2r*)r r)r3r1r2r!rr"r"r#rÝs           zDuplicateOptionError.__init__)r%r&r'rr"r"r"r#rÖs c@seZdZdd„ZdS)rcCs?tj|d||fƒ||_||_||f|_dS)NzNo option %r in section: %r)rrr3r)r*)r r3r)r"r"r#rôs    zNoOptionError.__init__N)r%r&r'rr"r"r"r#rñs c@seZdZdd„ZdS)r cCs8tj||ƒ||_||_|||f|_dS)N)rrr3r)r*)r r3r)r!r"r"r#rÿs  zInterpolationError.__init__N)r%r&r'rr"r"r"r#r üs c@seZdZdd„ZdS)r cCsPdj||||ƒ}tj||||ƒ||_||||f|_dS)NzˆBad value substitution: option {!r} in section {!r} contains an interpolation key {!r} which is not a valid option name. Raw value: {!r})r-r rÚ referencer*)r r3r)Úrawvalr4r!r"r"r#r s  z(InterpolationMissingOptionError.__init__N)r%r&r'rr"r"r"r#r s c@seZdZdS)r N)r%r&r'r"r"r"r#r s c@seZdZdd„ZdS)r cCsDdj||t|ƒ}tj||||ƒ|||f|_dS)Nz¢Recursion limit exceeded in value substitution: option {!r} in section {!r} contains an interpolation key which cannot be substituted in {} steps. Raw value: {!r})r-rr rr*)r r3r)r5r!r"r"r#rs   z InterpolationDepthError.__init__N)r%r&r'rr"r"r"r#r s c@sUeZdZdddd„Zedd„ƒZejdd„ƒZdd„ZdS) r NcCsz|r|rtdƒ‚n)| r8| r8tdƒ‚n |rD|}tj|d|ƒ||_g|_|f|_dS)Nz:Cannot specify both `filename' and `source'. Use `source'.z%Required argument `source' not given.z"Source contains parsing errors: %r)Ú ValueErrorrrr1Úerrorsr*)r r1Úfilenamer"r"r#r*s   zParsingError.__init__cCstjdtddƒ|jS)NzSThe 'filename' attribute will be removed in future versions. Use 'source' instead.Ú stacklevelé)ÚwarningsÚwarnÚDeprecationWarningr1)r r"r"r#r89s zParsingError.filenamecCs#tjdtddƒ||_dS)NzSThe 'filename' attribute will be removed in future versions. Use 'source' instead.r9r:)r;r<r=r1)r Úvaluer"r"r#r8Cs cCs3|jj||fƒ|jd||f7_dS)Nz [line %2d]: %s)r7r,r)r r2Úliner"r"r#r,MszParsingError.append)r%r&r'rÚpropertyr8Úsetterr,r"r"r"r#r 's   c@seZdZdd„ZdS)rcCsNtj|d|||fƒ||_||_||_|||f|_dS)Nz7File contains no section headers. file: %r, line: %d %r)rrr1r2r?r*)r r8r2r?r"r"r#rUs   z"MissingSectionHeaderError.__init__N)r%r&r'rr"r"r"r#rRs c@s@eZdZdd„Zdd„Zdd„Zdd„Zd S) rcCs|S)Nr")r Úparserr)r3r>Údefaultsr"r"r#Ú before_getiszInterpolation.before_getcCs|S)Nr")r rBr)r3r>r"r"r#Ú before_setlszInterpolation.before_setcCs|S)Nr")r rBr)r3r>r"r"r#Ú before_readoszInterpolation.before_readcCs|S)Nr")r rBr)r3r>r"r"r#Ú before_writerszInterpolation.before_writeN)r%r&r'rDrErFrGr"r"r"r#rfs    c@sCeZdZejdƒZdd„Zdd„Zdd„ZdS) rz %\(([^)]+)\)scCs2g}|j||||||dƒdj|ƒS)Nér)Ú_interpolate_somer0)r rBr)r3r>rCÚLr"r"r#rD‡szBasicInterpolation.before_getcCsV|jddƒ}|jjd|ƒ}d|krRtd||jdƒfƒ‚|S)Nz%%rú%z1invalid interpolation syntax in %r at position %d)ÚreplaceÚ_KEYCREÚsubr6Úfind)r rBr)r3r>Ú tmp_valuer"r"r#rEŒs  zBasicInterpolation.before_setcCsì|j||ddd|ƒ}|tkr<t|||ƒ‚x©|rç|jdƒ} | dkrq|j|ƒdS| dkr¤|j|d| …ƒ|| d…}|dd…} | dkrà|jdƒ|dd…}q?| dkrË|jj|ƒ} | dkr t||d |ƒ‚|j| j dƒƒ} || j ƒd…}y|| } Wn*t k rˆt |||| ƒd‚YnXd| kr»|j |||| |||dƒqä|j| ƒq?t||d |fƒ‚q?WdS) NÚrawTÚfallbackrKrrHr:ú(z'bad interpolation variable reference %rz/'%%' must be followed by '%%' or '(', found: %r)Úgetrr rOr,rMÚmatchr Ú optionxformÚgroupÚendÚKeyErrorr rI)r rBr3ÚaccumÚrestr)ÚmapÚdepthr5ÚpÚcÚmÚvarÚvr"r"r#rI”sF             z$BasicInterpolation._interpolate_someN) r%r&r'ÚreÚcompilerMrDrErIr"r"r"r#rvs   c@sCeZdZejdƒZdd„Zdd„Zdd„ZdS) rz \$\{([^}]+)\}cCs2g}|j||||||dƒdj|ƒS)NrHr)rIr0)r rBr)r3r>rCrJr"r"r#rDÄsz ExtendedInterpolation.before_getcCsV|jddƒ}|jjd|ƒ}d|krRtd||jdƒfƒ‚|S)Nz$$rú$z1invalid interpolation syntax in %r at position %d)rLrMrNr6rO)r rBr)r3r>rPr"r"r#rEÉs  z ExtendedInterpolation.before_setcCsª|j||ddd|ƒ}|tkr<t|||ƒ‚xg|r¥|jdƒ} | dkrq|j|ƒdS| dkr¤|j|d| …ƒ|| d…}|dd…} | dkrà|jdƒ|dd…}q?| dkr‰|jj|ƒ} | dkr t||d |ƒ‚| jdƒj d ƒ} || j ƒd…}|} |}y™t | ƒdkr�|j | dƒ}||}nct | ƒdkrÙ| d} |j | dƒ}|j| |ddƒ}nt||d |fƒ‚Wn<t ttfk r1t|||d j| ƒƒd‚YnXd|kry|j||||| t|j| ddƒƒ|dƒq¢|j|ƒq?t||d |fƒ‚q?WdS) NrQTrRrerrHr:ú{z'bad interpolation variable reference %rú:zMore than one ':' found: %rz-'$' must be followed by '$' or '{', found: %r)rTrr rOr,rMrUr rWÚsplitrXÚlenrVrYrrr r0rIÚdictÚitems)r rBr3rZr[r)r\r]r5r^r_r`ÚpathZsectÚoptrbr"r"r#rIÑs^             # z'ExtendedInterpolation._interpolate_someN) r%r&r'rcrdrMrDrErIr"r"r"r#r¾s   c@sIeZdZejdƒZdd„Zdd„Zedd„ƒZ dS) rz%\(([^)]*)\)s|.c Csã|}t}x¬|rº|d8}|r¶d|kr¶tj|jd|ƒ}|jj||ƒ}y||}Wq·tk r²} z$t|||| jdƒd‚WYdd} ~ Xq·XqPqW|rßd|krßt |||ƒ‚|S)NrHz%(rBr) rÚ functoolsÚpartialÚ_interpolation_replacerMrNrYr r*r ) r rBr)r3r>Úvarsr5r]rLÚer"r"r#rDs"   2zLegacyInterpolation.before_getcCs|S)Nr")r rBr)r3r>r"r"r#rE"szLegacyInterpolation.before_setcCs:|jdƒ}|dkr%|jƒSd|j|ƒSdS)NrHz%%(%s)s)rWrV)rUrBÚsr"r"r#rp%s  z*LegacyInterpolation._interpolation_replaceN) r%r&r'rcrdrMrDrEÚ staticmethodrpr"r"r"r#rs   csjeZdZdZdZdZeƒZej eej ƒZ ej ej ddƒej ƒZ ej ej ddƒej ƒZej dƒZddd dd dd dd d dd dd dd iZded dduddvdddddddedededd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zdd*d+„Zdd,d-„Zd.d/d0„Zd1d2d3„Zdd4d5„Zd6d d7dd8ed9d:„Zd;d<„Z d6d d7dd8ed=d>„Z!d6d d7dd8ed?d@„Z"d6d d7dd8edAdB„Z#d6d d7dd8edCdD„Z$ed d‡fdEdF†Z%dGdH„Z&dIdJ„Z'dKdL„Z(ddMdN„Z)ddOdP„Z*dQdR„Z+dSdT„Z,dUdV„Z-dWdX„Z.dYdZ„Z/d[d\„Z0d]d^„Z1d_d`„Z2dadb„Z3dcdd„Z4dedf„Z5dgdh„Z6didj„Z7dkdl„Z8dmdndodndpdndqdr„Z9e:dsdt„ƒZ;‡S)wrz¥ \[ # [ (?P
[^]]+) # very permissive! \] # ] a› (?P