marvis.command_executor.base

Base abstract class for a node.

Classes

CommandExecutor

The CommandExecutor abstracts away the code for running

Exceptions

ExitCode

An ExitCode is a container for storing a commands exit code.


class marvis.command_executor.base.CommandExecutor(name='unnamed')[source]

Bases: object

The CommandExecutor abstracts away the code for running

code on a Node.

Parameters

name (str) – You can specify a name for logging purposes.

name

The name of the CommandExecutor.

counter

A counter for loggers.

get_logger()[source]

Retrieve the logger for this command executor.

execute(command, user=None, shell=None, stdout_logfile=None, stderr_logfile=None)[source]

Execute a command.

Parameters
  • command (str) – The command to run.

  • user (str) – The user to run the command as.

  • shell (str) – The type of shell to use (sh, bash, …).

  • stdout_logfile (str) – The path to the log file to append the stdout output.

  • stderr_logfile (str) – The path to the log file to append the stderr output.

exception marvis.command_executor.base.ExitCode(code: int, command: str)[source]

Bases: Exception

An ExitCode is a container for storing a commands exit code.

Parameters
  • code – The exit code.

  • command – The command that was executed.

args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

Inheritance Diagramm

Inheritance diagram of marvis.command_executor.base