o
    1j                     @   sV   d dl Z d dlZddlmZ ddgZ										d
ddZG d	d deZdS )    N   )inforun_cmdCompletedProcessTFc                 C   s,  t ||d}|	o
| }	|r||d< |r)|	stjntjj|d< |	s#tjntjj|d< |	s3|s/|r3d|d< |r@|	s:tjntjj|d< |rM|	sGtjntjj|d< |rUtt|  |rdtj| fi |ddiS |	rxtj	| d	 g| d
d R i |S |
r|
t d
dd n	|
t d	dd tj| fi |S )z:Wrap around `subprocess.Popen` to execute a shell command.)envcwdtimeoutstdoutstderrTtextcheckFr      N)bufsizer   )dict
subprocessDEVNULLasyncioSTDOUTPIPEr   strrunZcreate_subprocess_execupdatePopen)cmdr   Zsilentr   r   ZechoZpipe_stdoutZpipe_stderrblockingZ	async_runr   cfg r   h/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/repo_apis/base/utils/subprocess.pyr      s2   
$c                       sF   e Zd Zd Zg dZd fdd	Zdd Z fddZd	d
 Z  Z	S )r   )args
returncoder	   r
   
_add_attrsNc                    s.   t    || _|| _|| _|| _t | _d S N)super__init__r   r   r	   r
   r   r    )selfr   r   r	   r
   	__class__r   r   r#   P   s   
zCompletedProcess.__init__c                 C   s$   z| j | }|W S  ty   tw r!   )r    KeyErrorAttributeErrorr$   namevalr   r   r   __getattr__X   s   
zCompletedProcess.__getattr__c                    s4   z
t  || W d S  ty   || j|< Y d S w r!   )r"   __setattr__r(   r    r)   r%   r   r   r-   _   s
   zCompletedProcess.__setattr__c                 C   sz   dt | j dt | j g}| jd ur |dt | j  | jd ur0|dt | j  | jj dd| dS )Nzargs=zreturncode=zstdout=zstderr=(z, ))	reprr   r   r	   appendr
   r&   __name__join)r$   r   r   r   r   __repr__e   s    

zCompletedProcess.__repr__)NN)
r2   
__module____qualname____doc__	__slots__r#   r,   r-   r4   __classcell__r   r   r%   r   r   K   s    )
NTNNFFFTFT)r   r   Zutils.loggingr   __all__r   objectr   r   r   r   r   <module>   s    
3