a
´is
ã @ s. d Z ddlZG dd„ dƒZdd„ Zdd„ ZdS ) zÔ
Basic subprocess implementation for POSIX which only uses os functions. Only
implement features required by setup.py to build C extension modules when
subprocess is unavailable. setup.py is not used on Windows.
é Nc @ s e Zd Zddd„Zdd„ ZdS )ÚPopenNc C s || _ || _d | _d S )N)Ú_cmdÚ_envÚ
returncode)ÚselfÚcmdÚenv© r ú'/usr/lib64/python3.9/_bootsubprocess.pyÚ__init__ s zPopen.__init__c C sˆ t ¡ }|dkrfzF| jd ur6t | jd | j| j¡ nt | jd | j¡ W t d¡ q‚t d¡ 0 nt |d¡\}}t |¡| _ | j S )Nr é )
ÚosÚforkr Úexecver ÚexecvÚ_exitÚwaitpidÚwaitstatus_to_exitcoder )r ÚpidÚ_Ústatusr r r
Úwait s
z
Popen.wait)N)Ú__name__Ú
__module__Ú__qualname__r r r r r r
r s
r c C s¼ g }dD ]2\}}t t|ƒt|ƒd ƒD ]}| t|ƒ¡ q&q| d¡ d |¡}t| ttfƒrd| }nt| tƒrv| g}ndS |D ]8}t|tƒs’ dS |sœ dS |D ]}||vr dS q q~dS )N))ÚaÚz)ÚAÚZ)Ú0Ú9r z./-Ú FT) ÚrangeÚordÚappendÚchrÚjoinÚ
isinstanceÚtupleÚlistÚstr)r Z
safe_charsÚfirstÚlastZchZ
check_strsÚargr r r
Ú
_check_cmd$ s(
r. c K s |rt t|ƒƒ‚t| ƒs&td| ›�ƒ‚d}t| tƒs>d | ¡} | › d|› �} z t | ¡}t |¡}|rztd| ›d|›�ƒ‚z6t
|dƒ�}| ¡ }W d ƒ n1 s¤0 Y W n tyÆ d}Y n0 W zt
|¡ W n tyê Y n0 n&zt
|¡ W n t�y Y n0 0 |S ) Nzunsupported command: zcheck_output.tmpú z >zCommand z returned non-zero exit status Úrbó )ÚNotImplementedErrorÚreprr. Ú
ValueErrorr' r* r&