Plan 9 from Bell Labs’s /usr/web/sources/contrib/bichued/root/sys/lib/python/distutils/spawn.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�
��c	@s�dZdZddkZddkZddkZddkTddklZdddd�Zd	�Z	dddd
�Z
dddd�Zdddd�Zdd
�ZdS(s�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.
s1$Id: spawn.py 37828 2004-11-10 22:23:15Z loewis $i�N(t*(tlogiicCs�tidjot||d|�n_tidjot||d|�n8tidjot||d|�ntdti�dS(s�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.
    tposixtdry_runtnttos2s1don't know how to spawn programs on platform '%s'N(tostnamet_spawn_posixt	_spawn_ntt
_spawn_os2tDistutilsPlatformError(tcmdtsearch_pathtverboseR((s"/sys/lib/python/distutils/spawn.pytspawnscCsTxMtt|��D]9}ti||d�djod||||<qqW|S(s�Quote command-line arguments for DOS/Windows conventions: just
    wraps every argument which contains blanks in double quotes, and
    returns a new argument list.
    t i�s"%s"(trangetlentstringtfind(targsti((s"/sys/lib/python/distutils/spawn.pyt_nt_quote_args1s
cCs�|d}t|�}|ot|�p|}ntiti|g|dd��|p{ytiti||�}Wn0t	j
o$}t
d|d|df�nX|djot
d|d|f�q�ndS(NiiRscommand '%s' failed: %si�s'command '%s' failed with exit status %d(Rtfind_executableRtinfoRtjoinRtspawnvtP_WAITtOSErrortDistutilsExecError(RR
RRt
executabletrctexc((s"/sys/lib/python/distutils/spawn.pyR	Bs
$
cCs�|d}|ot|�p|}ntiti|g|dd��|p�ytiti||�}Wn0tj
o$}t	d|d|df�nX|djo.d|d|fGHt	d|d|f�q�ndS(NiiRscommand '%s' failed: %si�s'command '%s' failed with exit status %d(
RRRRRRRRRR(RR
RRRR R!((s"/sys/lib/python/distutils/spawn.pyR
[s
$
cCstiti|d��|odSn|o
tipti}ti�}|djo�y||d|�WnCtj
o7}t	i
id|d|if�ti
d�nXt	i
id|d�ti
d�n-x)yti|d�\}}WnVtj
oJ}ddk}	|i|	ijoq�td|d|df�nXti|�o$td|dti|�f�q�ti|�o?ti|�}
|
djodSqtd	|d|
f�q�ti|�oq��td
|d|f�q�S(NRisunable to execute %s: %s
is(unable to execute %s for unknown reasonsi�scommand '%s' failed: %ss$command '%s' terminated by signal %ds'command '%s' failed with exit status %ds3unknown error executing '%s': termination status %d(RRRRRtexecvptexecvtforkRtsyststderrtwritetstrerrort_exittwaitpidterrnotEINTRRtWIFSIGNALEDtWTERMSIGt	WIFEXITEDtWEXITSTATUSt
WIFSTOPPED(RR
RRtexec_fntpidtetstatusR!R+texit_status((s"/sys/lib/python/distutils/spawn.pyRusN

cCs�|djotid}nti|ti�}tii|�\}}ti	djpti
djo|djo|d}ntii|�pIx>|D]6}tii||�}tii|�o|Sq�q�WdSn|SdS(s�Try 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.
    tPATHtwin32Rs.exeN(
tNoneRtenvironRtsplittpathseptpathtsplitextR%tplatformRtisfileR(RR=tpathstbasetexttptf((s"/sys/lib/python/distutils/spawn.pyR�s
-(t__doc__t__revision__R%RRtdistutils.errorst	distutilsRRRR	R
RR9R(((s"/sys/lib/python/distutils/spawn.pys<module>s$$
	;

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].