class documentation

class RunAtCommand(Command):

Known subclasses: gbp.scripts.common.hook.Hook

View In Hierarchy

Run a command in a specific directory

Method __call__ Run the command and raise exception on errors

Inherited from Command:

Method __init__ Undocumented
Method call Like __call__ but let the caller handle the return status.
Instance Variable args Undocumented
Instance Variable capture_stderr Undocumented
Instance Variable capture_stdout Undocumented
Instance Variable cmd Undocumented
Instance Variable cwd Undocumented
Instance Variable env Undocumented
Instance Variable err_reason Undocumented
Instance Variable retcode Undocumented
Instance Variable run_error Undocumented
Instance Variable shell Undocumented
Instance Variable stderr Undocumented
Instance Variable stdout Undocumented
Static Method _f Build error string template
Method __call Wraps subprocess.call so we can be verbose and fix Python's SIGPIPE handling
Method _format_err Log an error message
Method _log_err Log an error message
Method _reset_state Undocumented
def __call__(self, dir='.', *args):

Run the command and raise exception on errors

If run quietly it will not print an error message via the gbp.log logging API.

Whether the command prints anything to stdout/stderr depends on the capture_stderr, capture_stdout instance variables.

All errors will be reported as subclass of the CommandExecFailed exception including a non zero exit status of the run command.

Parameters
dirUndocumented
args:list of stringsadditional command line arguments
quiet:

bool

>>> Command("/bin/true")(["foo", "bar"])
>>> Command("/foo/bar")(quiet=True) # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
...
gbp.command_wrappers.CommandExecFailed
don't log failed execution to stderr. Mostly useful during unit testing