§
    øyIf>  ã                  ó  — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZmZmZmZ ddlmZ d	d
lmZmZ erddlmZ ddlmZ d	dlmZ  G d„ d¦  «        Z G d„ de¦  «        ZdZ dd„Z! G d„ dee¦  «        Z"dS )z*A tox environment that can build packages.é    )Úannotations)ÚABCÚabstractmethod)ÚPath)ÚRLock)Ú
MethodType)ÚTYPE_CHECKINGÚAnyÚCallableÚ	GeneratorÚIteratorÚcast)ÚFileLocké   )ÚToxEnvÚToxEnvCreateArgs)ÚConfig)ÚEnvConfigSet)Ú	RunToxEnvc                  ó   — e Zd ZdZdS )ÚPackagezpackage.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úG/var/www/piapp/venv/lib/python3.11/site-packages/tox/tox_env/package.pyr   r      s   € € € € € Ø€N€N€Nr   r   c                  ó(   ‡ — e Zd Zdˆ fd„Zd	d„Zˆ xZS )
ÚPathPackageÚpathr   ÚreturnÚNonec                óV   •— t          ¦   «                              ¦   «          || _        d S ©N)ÚsuperÚ__init__r!   )Úselfr!   Ú	__class__s     €r   r'   zPathPackage.__init__   s$   ø€ Ý‰Œ×ÒÑÔÐØˆŒ	ˆ	ˆ	r   Ústrc                ó*   — t          | j        ¦  «        S r%   )r*   r!   )r(   s    r   Ú__str__zPathPackage.__str__   s   € Ý�4”9‰~Œ~Ðr   )r!   r   r"   r#   )r"   r*   )r   r   r   r'   r,   Ú__classcell__©r)   s   @r   r    r       sQ   ø€ € € € € ðð ð ð ð ð ðð ð ð ð ð ð ð r   r    FÚthread_lockr   Ú	file_lockúFileLock | NoneÚmethúCallable[..., Any]r"   c                ó   ‡ ‡‡— dˆˆˆ fd„}|S )NÚargsr
   Úkwargsr"   c                 óD  •— ‰5  d}‰�‰j         du r‰                     ¦   «          d}	  ‰| i |¤Ž|r't          t          ‰¦  «                             ¦   «          cd d d ¦  «         S # |r(t          t          ‰¦  «                             ¦   «          w w xY w# 1 swxY w Y   d S )NFT)Ú	is_lockedÚacquirer   r   Úrelease)r5   r6   Ú
file_locksr0   r2   r/   s      €€€r   Ú_funcz_lock_method.<locals>._func'   s	  ø€ Øð 		8ð 		8ØˆJØÐ$¨Ô)<ÀÐ)EÐ)EØ×!Ò!Ñ#Ô#Ð#Ø!�
ð8Ø�t˜TÐ, VÐ,Ð,àð 8Ý� 9Ñ-Ô-×5Ò5Ñ7Ô7Ð7ð		8ð 		8ð 		8ð 		8ñ 		8ô 		8ð 		8ð 		8øð ð 8Ý� 9Ñ-Ô-×5Ò5Ñ7Ô7Ð7Ð7ð8øøøð		8ð 		8ð 		8ð 		8øøøð 		8ð 		8ð 		8ð 		8ð 		8ð 		8s'   „$B©A&°)BÁ&,BÂBÂBÂB)r5   r
   r6   r
   r"   r
   r   )r/   r0   r2   r<   s   ``` r   Ú_lock_methodr=   &   s4   øøø€ ð
8ð 
8ð 
8ð 
8ð 
8ð 
8ð 
8ð 
8ð €Lr   c                  óˆ   ‡ — e Zd Zdˆ fd„Zdd	„Zd ˆ fd
„Zd!ˆ fd„Zed"d„¦   «         Zd#d„Z	d$d„Z
d%d„Zed&d„¦   «         Zˆ xZS )'ÚPackageToxEnvÚcreate_argsr   r"   r#   c                ó¤   •— t          ¦   «         | _        d | _        t          ¦   «                              |¦  «         t          ¦   «         | _        d S r%   )r   Ú_thread_lockÚ
_file_lockr&   r'   ÚsetÚ_envs)r(   r@   r)   s     €r   r'   zPackageToxEnv.__init__7   s=   ø€ Ý!™GœGˆÔØ+/ˆŒÝ‰Œ×Ò˜Ñ%Ô%Ð%Ý"™uœuˆŒ
ˆ
ˆ
r   Únamer*   r
   c                óœ   — t                                | |¦  «        }t          |t          ¦  «        rt	          | j        | j        |¦  «        }|S r%   )ÚobjectÚ__getattribute__Ú
isinstancer   r=   rB   rC   )r(   rF   Úobjs      r   rI   zPackageToxEnv.__getattribute__=   sE   € å×%Ò% d¨DÑ1Ô1ˆÝ�c�:Ñ&Ô&ð 	HÝ˜tÔ0°$´/À3ÑGÔGˆCØˆ
r   c           	     óÔ  •— t          ¦   «                              ¦   «          | j        d         dz  }t          |¦  «        | _        |j                             dd¬¦  «         | j                             ddgt          t          t          | j        d         ¦  «        d¬	¦  «         | j                             ddgt          t          t          | j        d         ¦  «        d¬	¦  «         d S )
NÚenv_dirz	file.lockT)ÚparentsÚexist_okÚpackage_rootÚsetupdirÚtox_rootzaindicates where the packaging root file exists (historically setup.py file or pyproject.toml now))ÚkeysÚof_typeÚdefaultÚdesc)r&   Úregister_configÚconfr   rC   ÚparentÚmkdirÚcoreÚ
add_configr   r   )r(   Úfile_lock_pathr)   s     €r   rW   zPackageToxEnv.register_configD   sã   ø€ Ý‰Œ×ÒÑ!Ô!Ð!Ø#œy¨Ô3°kÑAˆÝ" >Ñ2Ô2ˆŒØÔ×#Ò#¨D¸4Ð#Ñ@Ô@Ð@ØŒ	×ÒØ  *Ð-ÝÝ�˜tœy¨Ô4Ñ5Ô5Øtð	 	ñ 	
ô 	
ð 	
ð 	Œ	×ÒØ  *Ð-ÝÝ�˜tœy¨Ô8Ñ9Ô9Øtð	 	ñ 	
ô 	
ð 	
ð 	
ð 	
r   rX   r   Úvalueú
str | NoneÚboolc                ód   •— | j         j        du o!t          ¦   «                              ||¦  «        S )NF)ÚoptionsÚno_recreate_pkgr&   Ú_recreate_default)r(   rX   r^   r)   s      €r   rd   zPackageToxEnv._recreate_defaultV   s.   ø€ ØŒ|Ô+¨uÐ4Ð_½¹¼×9RÒ9RÐSWÐY^Ñ9_Ô9_Ð_r   Úfor_envr   úlist[Package]c                ó   — t           ‚r%   ©ÚNotImplementedError)r(   re   s     r   Úperform_packagingzPackageToxEnv.perform_packagingY   ó   € å!Ð!r   Úrun_envr   ú/Generator[tuple[str, str], PackageToxEnv, None]c              #  ó   K  — dE d {V —† d S )Nr   r   ©r(   rl   s     r   Úregister_run_envzPackageToxEnv.register_run_env]   s   è è € Øˆˆˆˆˆˆˆˆˆr   c                óN   — | j                              |j        j        ¦  «         d S r%   )rE   ÚaddrX   rF   ro   s     r   Úmark_active_run_envz!PackageToxEnv.mark_active_run_env`   s!   € ØŒ
�Š�w”|Ô(Ñ)Ô)Ð)Ð)Ð)r   c                ó    — | j                              |j        ¦  «         t          | j         ¦  «        dk    r|                      ¦   «          d S d S )Nr   )rE   ÚremoverF   ÚlenÚ	_teardown)r(   rX   s     r   Úteardown_envzPackageToxEnv.teardown_envc   sK   € ØŒ
×Ò˜$œ)Ñ$Ô$Ð$ÝˆtŒz‰?Œ?˜aÒÐØ�NŠNÑÔÐÐÐð  Ðr   Úrun_confúIterator[PackageToxEnv]c                ó   — t           ‚r%   rh   )r(   ry   s     r   Úchild_pkg_envszPackageToxEnv.child_pkg_envsh   rk   r   )r@   r   r"   r#   )rF   r*   r"   r
   )r"   r#   )rX   r   r^   r_   r"   r`   )re   r   r"   rf   )rl   r   r"   rm   )rl   r   r"   r#   )rX   r   r"   r#   )ry   r   r"   rz   )r   r   r   r'   rI   rW   rd   r   rj   rp   rs   rx   r|   r-   r.   s   @r   r?   r?   6   s  ø€ € € € € ð%ð %ð %ð %ð %ð %ðð ð ð ð
ð 
ð 
ð 
ð 
ð 
ð$`ð `ð `ð `ð `ð `ð ð"ð "ð "ñ „^ð"ðð ð ð ð*ð *ð *ð *ðð ð ð ð
 ð"ð "ð "ñ „^ð"ð "ð "ð "ð "r   r?   N)r/   r   r0   r1   r2   r3   r"   r3   )#r   Ú
__future__r   Úabcr   r   Úpathlibr   Ú	threadingr   Útypesr   Útypingr	   r
   r   r   r   r   Úfilelockr   Úapir   r   Útox.config.mainr   Útox.config.setsr   Úrunnerr   r   r    Úlockedr=   r?   r   r   r   ú<module>r‰      s¦  ðØ 0Ð 0à "Ð "Ð "Ð "Ð "Ð "à #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ Jà Ð Ð Ð Ð Ð à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )àð "Ø&Ð&Ð&Ð&Ð&Ð&Ø,Ð,Ð,Ð,Ð,Ð,à!Ð!Ð!Ð!Ð!Ð!ðð ð ð ð ñ ô ð ðð ð ð ð �'ñ ô ð ð 
€ðð ð ð ð 4"ð 4"ð 4"ð 4"ð 4"�F˜Cñ 4"ô 4"ð 4"ð 4"ð 4"r   