summaryrefslogtreecommitdiffstats
path: root/gitlint-core/gitlint/display.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlint-core/gitlint/display.py')
-rw-r--r--gitlint-core/gitlint/display.py36
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)