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.
output
strNon-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 = ('returncode', 'suspended', 'pid', 'args', 'alias', 'executed_cmd', 'timestamps', 'input', 'output', 'errors')¶
- attrnames_ext = ('stdin', 'stdout', 'stderr', 'stdin_redirect', 'stdout_redirect', 'stderr_redirect')¶
- 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.
output
strNon-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)¶
End the pipeline, return the controlling terminal if needed.
Main things done in self._end().
- get_formatted_lines(lines)¶
Format output lines.
- itercheck()¶
Iterates through the command lines and throws an error if the returncode is non-zero.
- iterraw()¶
Iterates through the last stdout, and returns the lines exactly as found.
- resume(job, tee_output=True)¶
- stream_stderr(lines)¶
Streams lines to sys.stderr and the errors attribute.
- tee_stdout()¶
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 = ('returncode', 'suspended', 'pid', 'args', 'alias', 'executed_cmd', 'timestamps', 'input', 'output', 'errors')¶
- attrnames_ext = ('stdin', 'stdout', 'stderr', 'stdin_redirect', 'stdout_redirect', 'stderr_redirect')¶
- 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.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.
- getName()¶
Return a string used for identification purposes only.
This method is deprecated, use the name attribute instead.
- isDaemon()¶
Return whether this thread is a daemon.
This method is deprecated, use the daemon attribute instead.
- is_alive()¶
Return whether the thread is alive.
This method returns True just before the run() method starts until just after the run() method terminates. See also the module function enumerate().
- join(timeout=None)¶
Wait until the thread terminates.
This blocks the calling thread until the thread whose join() method is called terminates – either normally or through an unhandled exception or until the optional timeout occurs.
When the timeout argument is present and not None, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof). As join() always returns None, you must call is_alive() after join() to decide whether a timeout happened – if the thread is still alive, the join() call timed out.
When the timeout argument is not present or None, the operation will block until the thread terminates.
A thread can be join()ed many times.
join() raises a RuntimeError if an attempt is made to join the current thread as that would cause a deadlock. It is also an error to join() a thread before it has been started and attempts to do so raises the same exception.
- setDaemon(daemonic)¶
Set whether this thread is a daemon.
This method is deprecated, use the .daemon property instead.
- setName(name)¶
Set the name string for this thread.
This method is deprecated, use the name attribute instead.
- start()¶
Start the thread’s activity.
It must be called at most once per thread object. It arranges for the object’s run() method to be invoked in a separate thread of control.
This method will raise a RuntimeError if called more than once on the same thread object.
- property daemon¶
A boolean value indicating whether this thread is a daemon thread.
This must be set before start() is called, otherwise RuntimeError is raised. Its initial value is inherited from the creating thread; the main thread is not a daemon thread and therefore all threads created in the main thread default to daemon = False.
The entire Python program exits when only daemon threads are left.
- property ident¶
Thread identifier of this thread or None if it has not been started.
This is a nonzero integer. See the get_ident() function. Thread identifiers may be recycled when a thread exits and another thread is created. The identifier is available even after the thread has exited.
- property name¶
A string used for identification purposes only.
It has no semantics. Multiple threads may be given the same name. The initial name is set by the constructor.
- property native_id¶
Native integral thread ID of this thread, or None if it has not been started.
This is a non-negative integer. See the get_native_id() function. This represents the Thread ID as reported by the kernel.
- xonsh.procs.pipelines.safe_readable(handle)[source]¶
Attempts to find if the handle is readable without throwing an error.