§
    øyIf~  ã                  ó  — d dl mZ d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ erd d
lmZmZ d dlmZ d dlmZ d dlmZ  ed¦  «        Z ej        d¦  «        Z  G d„ dee	e!         ¦  «        Z"dS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚTypeVar)ÚConfigLoadArgsÚLoaderÚOverride)Úfilter_for_env)Úreplace)Ú
StrConvert)ÚSetEnv)ÚHandledError)ÚConfigParserÚSectionProxy)ÚFactory)ÚSection)ÚConfigÚVz(\s)*(?<!\\)#.*c                  óh   ‡ — e Zd ZdZ	 d&d'ˆ fd„Zd(d„Zed)d„¦   «         Zd*d„Zd+d!„Z	d,d$„Z
d-d%„Zˆ xZS ).Ú	IniLoaderzSLoad configuration from an ini section (ini file is a string to string dictionary).NÚsectionr   Úparserr   Ú	overridesúlist[Override]Úcore_sectionÚsection_keyú
str | NoneÚreturnÚNonec                ó�   •— ||p|j                  | _        || _        || _        t	          ¦   «                              ||¦  «         d S ©N)ÚkeyÚ_section_proxyÚ_parserr   ÚsuperÚ__init__)Úselfr   r   r   r   r   Ú	__class__s         €úR/var/www/piapp/venv/lib/python3.11/site-packages/tox/config/loader/ini/__init__.pyr%   zIniLoader.__init__   sH   ø€ ð -3°;Ð3MÀ'Ä+Ô,NˆÔØˆŒØ(ˆÔÝ‰Œ×Ò˜ )Ñ,Ô,Ð,Ð,Ð,ó    r!   ÚstrÚconfúConfig | NoneÚenv_namec                óF   — |                       ||| j        |         ¦  «        S r    )Úprocess_rawr"   )r&   r!   r+   r-   s       r(   Úload_rawzIniLoader.load_raw)   s"   € Ø×Ò  h°Ô0CÀCÔ0HÑIÔIÐIr)   Úvaluec                ó�  — g }|                      d¦  «        D ][}|                     d¦  «        sDt                               d|¦  «        }|                     |                     dd¦  «        ¦  «         Œ\d                     |¦  «        }| €|}nt          ||¦  «        }|                     dd¦  «                             dd¦  «        S )Nú
ú#Ú z\#úz\
)ÚsplitÚ
startswithÚ	_COMMENTSÚsubÚappendr
   Újoinr	   )r+   r-   r1   ÚelementsÚlineÚpartÚstrip_commentsÚfactor_filtereds           r(   r/   zIniLoader.process_raw,   s¾   € ð !ˆØ—K’K Ñ%Ô%ð 	:ð 	:ˆDØ—?’? 3Ñ'Ô'ð :Ý —}’} R¨Ñ.Ô.�Ø—’ §¢¨U°CÑ 8Ô 8Ñ9Ô9Ð9øØŸš 8Ñ,Ô,ˆØˆ<Ø,ˆOˆOå,¨^¸XÑFÔFˆOØ×&Ò& t¨RÑ0Ô0×8Ò8¸ÀÑDÔDÐDr)   Úof_typeútype[V]Úfactoryú
Factory[V]ÚrawÚargsr   r   c                óì   ‡ ‡‡— t          j        |¦  «        ot          |t          ¦  «        }dˆˆˆ fd„}|s |||¦  «        n|}	‰                      |	||¦  «        }
|r|
                     ||¦  «         |
S )NÚraw_r*   Úargs_r   r   c                óô   •— ‰€| }nq	 t          ‰‰| |¦  «        }n]# t          $ rP}t          |t          ¦  «        r‚ |j        €‰j        j        n|j        }d|› d‰› d|›�}t          |¦  «        |‚d }~ww xY w|S )Nzreplace failed in ú.z with )r
   Ú	ExceptionÚ
isinstancer   r-   r   r!   )	rI   rJ   ÚreplacedÚ	exceptionÚnameÚmsgr+   r!   r&   s	         €€€r(   Úreplacerz!IniLoader.build.<locals>.replacerF   s¬   ø€ Øˆ|Ø��ð;Ý& t¨T°4¸Ñ?Ô?�H�HøÝ ð ;ð ;ð ;Ý! )­\Ñ:Ô:ð ØØ49´NÐ4J˜4Ô,Ô0Ð0ÐPUÔP^�DØN¨tÐNÐN°cÐNÐNÀÐNÐN�CÝ& sÑ+Ô+°Ð:øøøøð;øøøð ˆOs   ˆ ›
A5¥AA0Á0A5)rI   r*   rJ   r   r   r*   )ÚinspectÚisclassÚ
issubclassr   ÚtoÚuse_replacer)r&   r!   rB   rD   r+   rF   rG   Údelay_replacerS   ÚpreparedÚ	converteds   ``  `      r(   ÚbuildzIniLoader.build;   s£   øøø€ õ  œ¨Ñ0Ô0ÐPµZÀÍÑ5PÔ5Pˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð /<ÐD�8�8˜C Ñ&Ô&Ð&ÀˆØ—G’G˜H g¨wÑ7Ô7ˆ	Øð 	3Ø×"Ò" 8¨TÑ2Ô2Ð2ØÐr)   úset[str]c                óN   — t          | j                             ¦   «         ¦  «        S r    )Úsetr"   Úkeys©r&   s    r(   Ú
found_keyszIniLoader.found_keysZ   s   € Ý�4Ô&×+Ò+Ñ-Ô-Ñ.Ô.Ð.r)   rQ   úSectionProxy | Nonec                óT   — | j                              |¦  «        r| j         |         S d S r    )r#   Úhas_section)r&   rQ   s     r(   Úget_sectionzIniLoader.get_section]   s,   € àŒ<×#Ò# DÑ)Ô)ð 	&Ø”< Ô%Ð%Øˆtr)   c                óJ   — | j         j        › d| j        j        › d| j        ›d�S )Nz	(section=z, overrides=ú))r'   Ú__name__Ú_sectionr!   r   ra   s    r(   Ú__repr__zIniLoader.__repr__c   s/   € Ø”.Ô)ÐfÐf°D´MÔ4EÐfÐfÐSWÔSaÐfÐfÐfÐfr)   r    )r   r   r   r   r   r   r   r   r   r   r   r   )r!   r*   r+   r,   r-   r   r   r*   )r+   r,   r-   r   r1   r*   r   r*   )r!   r*   rB   rC   rD   rE   r+   r,   rF   r*   rG   r   r   r   )r   r]   )rQ   r*   r   rc   )r   r*   )ri   Ú
__module__Ú__qualname__Ú__doc__r%   r0   Ústaticmethodr/   r\   rb   rf   rk   Ú__classcell__)r'   s   @r(   r   r      sá   ø€ € € € € Ø]Ð]ð #'ð-ð -ð -ð -ð -ð -ð -ðJð Jð Jð Jð ðEð Eð Eñ „\ðEðð ð ð ð>/ð /ð /ð /ðð ð ð ðgð gð gð gð gð gð gð gr)   r   )#Ú
__future__r   rT   ÚreÚtypingr   r   Útox.config.loader.apir   r   r   Útox.config.loader.ini.factorr	   Útox.config.loader.ini.replacer
   Útox.config.loader.str_convertr   Útox.config.set_envr   Ú
tox.reportr   Úconfigparserr   r   Útox.config.loader.convertr   Útox.config.loader.sectionr   Útox.config.mainr   r   Úcompiler9   r*   r   © r)   r(   ú<module>r€      s|  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø %Ð %Ð %Ð %Ð %Ð %Ø #Ð #Ð #Ð #Ð #Ð #àð 'Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7à1Ð1Ð1Ð1Ð1Ð1Ø1Ð1Ð1Ð1Ð1Ð1Ø&Ð&Ð&Ð&Ð&Ð&à€GˆC�L„L€ØˆBŒJÐ)Ñ*Ô*€	ðKgð Kgð Kgð Kgð Kg�
˜F 3œKñ Kgô Kgð Kgð Kgð Kgr)   