o
    5‘ði  ã                   @   sb   d dl Z d dlZd dlZd dlZd dlmZmZ d dlZ	G dd„ de	j
jƒZdd„ Zd	dd„ZdS )
é    N)ÚPIPEÚPopenc                   @   s   e Zd ZdZdgZdd„ ZdS )Ú
VirtualEnvz.envz--no-setuptoolsc                 O   sl   |   |d ¡g|dd …  }| jddœ|¥}d|vr*ttjƒ}d|v r&|d= ||d< tj|g|¢R i |¤ŽS )Nr   é   úutf-8)ÚcwdÚencodingÚenvÚ
PYTHONPATH)ÚexeÚrootÚdictÚosÚenvironÚ
subprocessÚcheck_output)ÚselfÚcmdÚargsÚkwargsr	   © r   ú[/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/tests/environment.pyÚrun   s   	
zVirtualEnv.runN)Ú__name__Ú
__module__Ú__qualname__ÚnameÚcreate_optsr   r   r   r   r   r   
   s    r   c                 C   sL   t ƒ }tj dd¡ tj¡D ]}tj || ¡}t |tj	¡r#| 
|¡ q|S )NÚPATHÚ )Úsetr   r   ÚgetÚsplitÚpathsepÚpathÚjoinÚaccessÚX_OKÚadd)r   Úresultr$   Úfilenamer   r   r   Ú_which_dirs%   s   
€r+   c           	      C   s  |du rt ƒ }tjD ]	}tj| ||< q
|dur||d< |dur$||d< | dd¡s?tdƒ tdƒ¡|d< tj |d ¡|d< tj	dgt
| ƒ } tjdk}zt| tt||d	d
�}t|tƒrat|Ž }| ¡ | }W n
 tyr   Y dS w t|dƒr‚| ¡ }t d|¡}|j|fS )z~
    Execution command for tests, separate from those used by the
    code directly to prevent accidental behavior issues
    Nr
   r   r   ÚtarÚgzipzsetup.pyÚwin32r   )ÚstdoutÚstderrÚshellr	   r   )r   r   ÚdecodeÚNFC)r   r   r   r!   r+   Úunionr#   r%   ÚsysÚ
executableÚlistÚplatformÚ_PopenÚ_PIPEÚ
isinstanceÚtupleÚsliceÚcommunicateÚOSErrorÚhasattrr2   ÚunicodedataÚ	normalizeÚ
returncode)	r   Úpypathr$   Údata_streamr	   Úenvnamer1   ÚprocÚdatar   r   r   Úrun_setup_py.   s@   

ú
	ÿ

rI   )NNr   N)r   r   r5   rA   r   r:   r   r9   Újaraco.envsÚjaracoÚenvsr   r+   rI   r   r   r   r   Ú<module>   s    	