Output and Running
Output contents
Use the self.output to print contents to the output.
self.output.success("This is a good, should be green")
self.output.info("This is a neutral, should be white")
self.output.warn("This is a warning, should be yellow")
self.output.error("Error, should be red")
self.output.rewrite_line("for progress bars, issues a cr")
Check the source code. You might be able to produce different outputs with different colors.
Running commands
run(self, command, output=True, cwd=None, win_bash=False, subsystem=None, msys_mingw=True):
self.run()
is a helper to run system commands and throw exceptions when errors occur,
so that command errors are do not pass unnoticed. It is just a wrapper for os.system()
Optional parameters:
- output (Optional, Defaulted to
True
) When True it will write in stdout. You can pass any stream that accepts a
write
method like asix.StringIO()
:
- output (Optional, Defaulted to
from six import StringIO # Python 2 and 3 compatible
mybuf = StringIO()
self.run("mycommand", output=mybuf)
self.output.warn(mybuf.getvalue())
cwd (Optional, Defaulted to
.
current directory): Current directory to run the command.win_bash (Optional, Defaulted to
False
): When True, it will run the configure/make commands inside a bash.subsystem (Optional, Defaulted to
None
will autodetect the subsystem). Used to escape the command according to the specified subsystem.msys_mingw (Optional, Defaulted to
True
) If the specified subsystem is MSYS2, will start it in MinGW mode (native windows development).