a DOgs @s*ddlZGdddZddZddZdS)Nc@seZdZdddZddZdS)PopenNcCs||_||_d|_dS)N)_cmd_env returncode)selfcmdenvr 4/opt/alt/python39/lib64/python3.9/_bootsubprocess.py__init__ szPopen.__init__c Cst}|dkrfzF|jdur6t|jd|j|jnt|jd|jWtdqtd0nt|d\}}t||_ |j S)Nr) osforkrexecverexecv_exitwaitpidwaitstatus_to_exitcoder)rpid_statusr r r waits  z Popen.wait)N)__name__ __module__ __qualname__r rr r r r r s rcCsg}dD]2\}}tt|t|dD]}|t|q&q|dd|}t|ttfrd|}nt|trv|g}ndS|D]8}t|tsdS|sdS|D]}||vrdSqq~dS)N))az)AZ)09r z./-FT) rangeordappendchrjoin isinstancetupleliststr)rZ safe_charsfirstZlastZchZ check_strsargr r r _check_cmd$s(      r-cKs|rtt|t|s&td|d}t|ts>d|}|d|}zt|}t |}|rztd|d|z6t |d}| }Wdn1s0YWnt yd}Yn0Wzt |WntyYn0n&zt |WntyYn00|S) Nzunsupported command: zcheck_output.tmp z >zCommand z returned non-zero exit status rb)NotImplementedErrorreprr- ValueErrorr'r*r&r systemropenreadFileNotFoundErrorunlinkOSError)rkwargsZ tmp_filenamerZexitcodefpstdoutr r r check_outputBs:       *   r=)r rr-r=r r r r s