File: //usr/local/lib/python3.10/dist-packages/numpy/distutils/__pycache__/exec_command.cpython-310.pyc
o
���g+( � @ s� d Z ddgZddlZddlZddlZddlZddlZddlmZm Z ddl
mZ dd� Zd d
� Z
dd� Zd
d� Zdi fdd�Zdd� Zdd� Z ddd�Zddd�Zdd� ZdS )a0
exec_command
Implements exec_command function that is (almost) equivalent to
commands.getstatusoutput function but on NT, DOS systems the
returned status is actually correct (though, the returned status
values may be different by a factor). In addition, exec_command
takes keyword arguments for (re-)defining environment variables.
Provides functions:
exec_command --- execute command in a specified directory and
in the modified environment.
find_executable --- locate a command using info from environment
variable PATH. Equivalent to posix `which`
command.
Author: Pearu Peterson <pearu@cens.ioc.ee>
Created: 11 January 2003
Requires: Python 2.x
Successfully tested on:
======== ============ =================================================
os.name sys.platform comments
======== ============ =================================================
posix linux2 Debian (sid) Linux, Python 2.1.3+, 2.2.3+, 2.3.3
PyCrust 0.9.3, Idle 1.0.2
posix linux2 Red Hat 9 Linux, Python 2.1.3, 2.2.2, 2.3.2
posix sunos5 SunOS 5.9, Python 2.2, 2.3.2
posix darwin Darwin 7.2.0, Python 2.3
nt win32 Windows Me
Python 2.3(EE), Idle 1.0, PyCrust 0.7.2
Python 2.1.1 Idle 0.8
nt win32 Windows 98, Python 2.1.1. Idle 0.8
nt win32 Cygwin 98-4.10, Python 2.1.1(MSC) - echo tests
fail i.e. redefining environment variables may
not work. FIXED: don't use cygwin echo!
Comment: also `cmd /c echo` will not work
but redefining environment variables do work.
posix cygwin Cygwin 98-4.10, Python 2.3.3(cygming special)
nt win32 Windows XP, Python 2.3.3
======== ============ =================================================
Known bugs:
* Tests, that send messages to stderr, fail when executed from MSYS prompt
because the messages are lost at some point.
�exec_command�find_executable� N)�is_sequence�make_temp_file)�logc C sP t �d�}|du rd}| j|dd�} | �dd�} | dd� dkr&| dd� } | S ) z�
Convert `bytes` in the encoding used by a subprocess into a filesystem-appropriate `str`.
Inherited from `exec_command`, and possibly incorrect.
FN�ascii�replace��errors�
�
���)�locale�getpreferredencoding�decoder )�output�mylocale� r �G/usr/local/lib/python3.10/dist-packages/numpy/distutils/exec_command.py�filepath_from_subprocess_output? s
r c C s^ t tjd�rtjj�| � dS t tjd�r"tj�| �tjj�� dS tj�| jddd�� dS )z�
Forward bytes from a subprocess call to the console, without attempting to
decode them.
The assumption is that the subprocess call already returned bytes in
a suitable encoding.
�buffer�encoding�utf8r r N)�hasattr�sys�stdoutr �writer r )�valr r r �forward_bytes_to_stdoutP s
r c C s&