summaryrefslogtreecommitdiffstats
path: root/gitlint-core/gitlint/display.py
blob: 1de8d08918391b0ca45b44f17d3f22c5845cceb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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)