Subprocess Pipelines (xonsh.procs.pipelines)¶
Command pipeline tools.
-
class
xonsh.procs.pipelines.CommandPipeline(specs)[source]¶ Represents a subprocess-mode command pipeline.
- Parameters
- specslist of SubprocSpec
Process specifications
- Attributes
- specSubprocSpec
The last specification in specs
- procPopen-like
The process in procs
- endedbool
Boolean for if the command has stopped executing.
- inputstr
A string of the standard input.
outputstrNon-blocking, lazy access to output
- errorsstr
A string of the standard error.
- lineslist of str
The output lines
- starttimefloats or None
Pipeline start timestamp.
-
end(tee_output=True)[source]¶ End the pipeline, return the controlling terminal if needed.
Main things done in self._end().
-
itercheck()[source]¶ Iterates through the command lines and throws an error if the returncode is non-zero.
-
tee_stdout()[source]¶ Writes the process stdout to the output variable, line-by-line, and yields each line. This may optionally accept lines (in bytes) to iterate over, in which case it does not call iterraw().
-
property
alias¶ Alias the process used.
-
property
args¶ Arguments to the process.
-
attrnames= ('stdin', 'stdout', 'stderr', 'pid', 'returncode', 'args', 'alias', 'stdin_redirect', 'stdout_redirect', 'stderr_redirect', 'timestamps', 'executed_cmd', 'input', 'output', 'errors')¶
-
property
err¶ Error messages as a string.
-
property
executed_cmd¶ The resolve and executed command.
-
property
inp¶ Creates normalized input string from args.
-
nonblocking= (<class '_io.BytesIO'>, <class 'xonsh.procs.readers.NonBlockingFDReader'>, <class 'xonsh.procs.readers.ConsoleParallelReader'>)¶
-
property
out¶ Output value as a str.
-
property
output¶ Non-blocking, lazy access to output
-
property
pid¶ Process identifier.
-
property
raw_err¶ Errors as raw bytes.
-
property
raw_out¶ Output as raw bytes.
-
property
returncode¶ Process return code, waits until command is completed.
-
property
rtn¶ Alias to return code.
-
property
stderr¶ Process stderr.
-
property
stderr_postfix¶ Postfix to print after stderr, as bytes.
-
property
stderr_prefix¶ Prefix to print in front of stderr, as bytes.
-
property
stderr_redirect¶ Redirection used for stderr.
-
property
stdin¶ Process stdin.
-
property
stdin_redirect¶ Redirection used for stdin.
-
property
stdout¶ Process stdout.
-
property
stdout_redirect¶ Redirection used for stdout.
-
property
timestamps¶ The start and end time stamps.
-
class
xonsh.procs.pipelines.HiddenCommandPipeline(specs)[source]¶ - Parameters
- specslist of SubprocSpec
Process specifications
- Attributes
- specSubprocSpec
The last specification in specs
- procPopen-like
The process in procs
- endedbool
Boolean for if the command has stopped executing.
- inputstr
A string of the standard input.
outputstrNon-blocking, lazy access to output
- errorsstr
A string of the standard error.
- lineslist of str
The output lines
- starttimefloats or None
Pipeline start timestamp.
-
class
xonsh.procs.pipelines.PrevProcCloser(pipeline)[source]¶ Previous process closer thread for pipelines whose last command is itself unthreadable. This makes sure that the pipeline is driven forward and does not deadlock.
- Parameters
- pipelineCommandPipeline
The pipeline whose prev procs we should close.
-
xonsh.procs.pipelines.pause_call_resume(p, f, *args, **kwargs)[source]¶ For a process p, this will call a function f with the remaining args and and kwargs. If the process cannot accept signals, the function will be called.
- Parameters
- pPopen object or similar
- fcallable
- argsremaining arguments
- kwargskeyword arguments
-
xonsh.procs.pipelines.safe_readable(handle)[source]¶ Attempts to find if the handle is readable without throwing an error.