a XC?hs ã @ 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 ú4/opt/alt/python39/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ÚfirstZlastZchZ 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&