diff options
Diffstat (limited to 'gitlint-core/gitlint/display.py')
-rw-r--r-- | gitlint-core/gitlint/display.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gitlint-core/gitlint/display.py b/gitlint-core/gitlint/display.py new file mode 100644 index 0000000..1de8d08 --- /dev/null +++ b/gitlint-core/gitlint/display.py @@ -0,0 +1,36 @@ +from sys import stderr, stdout + + +class Display: + """Utility class to print stuff to an output stream (stdout by default) based on the config's verbosity""" + + def __init__(self, lint_config): + self.config = lint_config + + def _output(self, message, verbosity, exact, stream): + """Output a message if the config's verbosity is >= to the given verbosity. If exact == True, the message + will only be outputted if the given verbosity exactly matches the config's verbosity.""" + if exact: + if self.config.verbosity == verbosity: + stream.write(message + "\n") + else: + if self.config.verbosity >= verbosity: + stream.write(message + "\n") + + def v(self, message, exact=False): + self._output(message, 1, exact, stdout) + + def vv(self, message, exact=False): + self._output(message, 2, exact, stdout) + + def vvv(self, message, exact=False): + self._output(message, 3, exact, stdout) + + def e(self, message, exact=False): + self._output(message, 1, exact, stderr) + + def ee(self, message, exact=False): + self._output(message, 2, exact, stderr) + + def eee(self, message, exact=False): + self._output(message, 3, exact, stderr) |