OwlCyberSecurity - MANAGER
Edit File: spawn.cpython-38.pyc
U ����i�f�����������������������@���s����d�Z�ddlZddlZddlmZmZ�ddlmZ�ddlm Z �ddd�Z d d ��Zddd�Zej d krjdadaddd�Zddd�ZdS�)z�distutils.spawn Provides the 'spawn()' function, a front-end to various platform- specific functions for launching another program in a sub-process. Also provides the 'find_executable()' to search the path for a given executable name. �����N)�DistutilsPlatformError�DistutilsExecError)�DEBUG)�log����c�����������������C���sN���t�|��}�tjdkr"t|�||d��n(tjdkr<t|�||d��ntdtj���dS�)a���Run another program, specified as a command list 'cmd', in a new process. 'cmd' is just the argument list for the new process, ie. cmd[0] is the program to run and cmd[1:] are the rest of its arguments. There is no way to run a program with a name different from that of its executable. If 'search_path' is true (the default), the system's executable search path will be used to find the program; otherwise, cmd[0] must be the exact path to the executable. If 'dry_run' is true, the command will not actually be run. Raise DistutilsExecError if running the program fails in any way; just return on success. �posix)�dry_run�ntz1don't know how to spawn programs on platform '%s'N)�list�os�name�_spawn_posix� _spawn_ntr���)�cmd�search_path�verboser�����r����4/opt/alt/python38/lib64/python3.8/distutils/spawn.py�spawn���s���� �r���c�����������������C���s*���t�|��D�]\}}d|krd|�|�|<�q|�S�)z�Quote command-line arguments for DOS/Windows conventions. Just wraps every argument which contains blanks in double quotes, and returns a new argument list. � z"%s")� enumerate)�args�i�argr���r���r����_nt_quote_args+���s����r���c�������������� ���C���s����|�d�}t�|��}�|r t|�p|}t�d�|g|�dd�������|s�zt�tj||��}W�n@�tk r��}�z"t sp|}�t d|�|jd�f���W�5�d�}~X�Y�nX�|dkr�t s�|}�t d|�|f���d�S�)Nr���r���r����command %r failed: %s����%command %r failed with exit status %d)r����find_executabler����info�joinr����spawnv�P_WAIT�OSErrorr���r���r���)r���r���r���r���� executableZrc�excr���r���r���r���;���s(����� �r����darwinc�������������� ���C���s|��t��d�|����|rd�S�|�d�}|r*tjp.tj}d�}tjdkr�td�krxddl m }�|�d�p^datrxdd��t�d �D��a tr�tj�dt�}t d d��|�d �D��kr�d|tf�} t| ��ttj|d�}|r�tjp�tj}t���} | dk�r�z$|d�kr�|||���n|||�|��W�nN�tk �rX�}�z.t�s(|}�tj�d |�|jf���t�d��W�5�d�}~X�Y�nX�t�sd|}�tj�d|����t�d��n�zt�| d�\} }W�nD�tk �r��} �z$t�s�|}�td|�| jd�f���W�5�d�} ~ X�Y�nX�t�|��rt�s�|}�td|�t�|�f���nlt� |��rHt�!|�}|dk�r,d�S�t�s6|}�td|�|f���n,t�"|��rZ�q�nt�sd|}�td|�|f����q�d�S�)Nr���r���r&���)� sysconfig�MACOSX_DEPLOYMENT_TARGET��c�����������������S���s���g�|�]}t�|��qS�r�����int��.0�xr���r���r���� <listcomp>e���s�����z _spawn_posix.<locals>.<listcomp>�.c�����������������S���s���g�|�]}t�|��qS�r���r*���r,���r���r���r���r/���k���s�����zF$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure)r(���zunable to execute %r: %s r���z(unable to execute %r for unknown reasonsr���r���z"command %r terminated by signal %dr���z1unknown error executing %r: termination status %d)#r���r���r ���r����execvp�execv�sys�platform�_cfg_target� distutilsr'���Zget_config_var�split�_cfg_target_split�environ�getr����dict�execvpe�execve�forkr#���r����stderr�write�strerror�_exit�waitpidr���r����WIFSIGNALED�WTERMSIG� WIFEXITED�WEXITSTATUS� WIFSTOPPED)r���r���r���r���r$���Zexec_fn�envr'���Z cur_targetZmy_msg�pid�eZstatusr%���Zexit_statusr���r���r���r ���W���s����� ���� ���� ����r ���c�������������� ���C���s����t�j�|��\}}tjdkr*|dkr*|�d�}�t�j�|��r:|�S�|dkr�t�j�dd�}|dkr�zt��d�}W�n�t t fk r����t�j}Y�nX�|s�dS�|�t�j �}|D�]&}t�j�||��}t�j�|�r�|��S�q�dS�)z�Tries to find 'executable' in the directories listed in 'path'. A string listing directories separated by 'os.pathsep'; defaults to os.environ['PATH']. Returns the complete filename or None if not found. Zwin32z.exeN�PATH�CS_PATH)r����path�splitextr3���r4����isfiler9���r:����confstr�AttributeError� ValueError�defpathr7����pathsepr ���)r$���rN����_Zext�paths�p�fr���r���r���r�������s(���� r���)r���r���r���)r���r���r���)r���r���r���)N)�__doc__r3���r���Zdistutils.errorsr���r���Zdistutils.debugr���r6���r���r���r���r���r4���r5���r8���r ���r���r���r���r���r����<module>���s��� R