diff options
author | Tom Rini <trini@ti.com> | 2014-09-09 20:02:43 -0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-09-09 20:02:43 -0400 |
commit | 5935408a4092a1a132ff1ce866374ab1ed555bcd (patch) | |
tree | 232412fb1d28582fc261a23d04f866c795e72d19 /tools/patman/terminal.py | |
parent | 8c9c74e4c69b43cd50a1f04b34cfc141ed21654c (diff) | |
parent | d0ea61d9caf85e4285d5c2da508db9fac70e4aba (diff) | |
download | u-boot-imx-5935408a4092a1a132ff1ce866374ab1ed555bcd.zip u-boot-imx-5935408a4092a1a132ff1ce866374ab1ed555bcd.tar.gz u-boot-imx-5935408a4092a1a132ff1ce866374ab1ed555bcd.tar.bz2 |
Merge branch 'buildman' of git://git.denx.de/u-boot-x86
Diffstat (limited to 'tools/patman/terminal.py')
-rw-r--r-- | tools/patman/terminal.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tools/patman/terminal.py b/tools/patman/terminal.py index 963f2f8..e78a7c1 100644 --- a/tools/patman/terminal.py +++ b/tools/patman/terminal.py @@ -14,6 +14,78 @@ import sys # Selection of when we want our output to be colored COLOR_IF_TERMINAL, COLOR_ALWAYS, COLOR_NEVER = range(3) +# Initially, we are set up to print to the terminal +print_test_mode = False +print_test_list = [] + +class PrintLine: + """A line of text output + + Members: + text: Text line that was printed + newline: True to output a newline after the text + colour: Text colour to use + """ + def __init__(self, text, newline, colour): + self.text = text + self.newline = newline + self.colour = colour + + def __str__(self): + return 'newline=%s, colour=%s, text=%s' % (self.newline, self.colour, + self.text) + +def Print(text='', newline=True, colour=None): + """Handle a line of output to the terminal. + + In test mode this is recorded in a list. Otherwise it is output to the + terminal. + + Args: + text: Text to print + newline: True to add a new line at the end of the text + colour: Colour to use for the text + """ + if print_test_mode: + print_test_list.append(PrintLine(text, newline, colour)) + else: + if colour: + col = Color() + text = col.Color(colour, text) + print text, + if newline: + print + +def SetPrintTestMode(): + """Go into test mode, where all printing is recorded""" + global print_test_mode + + print_test_mode = True + +def GetPrintTestLines(): + """Get a list of all lines output through Print() + + Returns: + A list of PrintLine objects + """ + global print_test_list + + ret = print_test_list + print_test_list = [] + return ret + +def EchoPrintTestLines(): + """Print out the text lines collected""" + for line in print_test_list: + if line.colour: + col = Color() + print col.Color(line.colour, line.text), + else: + print line.text, + if line.newline: + print + + class Color(object): """Conditionally wraps text in ANSI color escape sequences.""" BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8) |