dootle.actions.shell

Classes

ShellBake

Create a pre-baked shell chain for reuse as in a ShellBakedRun,

ShellBakedRun

Run a series of baked commands

ShellAction

For actions in subshells/processes.

ShellInteractive

An interactive command, which uses the self.interact method as a callback for sh.

Module Contents

class dootle.actions.shell.ShellBake

Create a pre-baked shell chain for reuse as in a ShellBakedRun, args are explicit

eg::

{do=’bake!’, args=[…], update_=”baked”}, {do=”bake!’, args=[…], in_=”baked”, update_=”baked”}, {do=”run!”, in_=”baked”, update_=”result”}

class dootle.actions.shell.ShellBakedRun

Run a series of baked commands

class dootle.actions.shell.ShellAction

For actions in subshells/processes. all other arguments are passed directly to the program, using sh

- `env_`       : an indirect key for using a pre-baked sh environment
- `exitcodes`  : list[int] for what is acceptable return values
- `splitlines` : bool for splitting the stdout result
- `errlimit`   : int for how much of the tail of the stderr is printed ([x:])
_print_err(err, limit: int)
Parameters:

limit (int)

class dootle.actions.shell.ShellInteractive

An interactive command, which uses the self.interact method as a callback for sh.

see: https://sh.readthedocs.io/en/latest/sections/asynchronous_execution.html#interactive-callbacks

aggregated = ''
prompt = '>>> '
cont = '... '
interact(char, stdin) None
Return type:

None