diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-09-16 09:09:35 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-09-16 09:09:35 +0000 |
commit | 0dfe1c9e2780469e3a4696e8fb3e6f717a7ebeb7 (patch) | |
tree | a0b651b55ea02e3b00bbc5eedba566fdd6bd7c08 /example2.py | |
parent | Initial commit. (diff) | |
download | terminaltables-0dfe1c9e2780469e3a4696e8fb3e6f717a7ebeb7.tar.xz terminaltables-0dfe1c9e2780469e3a4696e8fb3e6f717a7ebeb7.zip |
Adding upstream version 3.1.0.upstream/3.1.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'example2.py')
-rwxr-xr-x | example2.py | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/example2.py b/example2.py new file mode 100755 index 0000000..51644f8 --- /dev/null +++ b/example2.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python +"""Example usage of terminaltables with colorclass. + +Just prints sample text and exits. +""" + +from __future__ import print_function + +from colorclass import Color, Windows + +from terminaltables import SingleTable + + +def table_server_timings(): + """Return table string to be printed.""" + table_data = [ + [Color('{autogreen}<10ms{/autogreen}'), '192.168.0.100, 192.168.0.101'], + [Color('{autoyellow}10ms <= 100ms{/autoyellow}'), '192.168.0.102, 192.168.0.103'], + [Color('{autored}>100ms{/autored}'), '192.168.0.105'], + ] + table_instance = SingleTable(table_data) + table_instance.inner_heading_row_border = False + return table_instance.table + + +def table_server_status(): + """Return table string to be printed.""" + table_data = [ + [Color('Low Space'), Color('{autocyan}Nominal Space{/autocyan}'), Color('Excessive Space')], + [Color('Low Load'), Color('Nominal Load'), Color('{autored}High Load{/autored}')], + [Color('{autocyan}Low Free RAM{/autocyan}'), Color('Nominal Free RAM'), Color('High Free RAM')], + ] + table_instance = SingleTable(table_data, '192.168.0.105') + table_instance.inner_heading_row_border = False + table_instance.inner_row_border = True + table_instance.justify_columns = {0: 'center', 1: 'center', 2: 'center'} + return table_instance.table + + +def table_abcd(): + """Return table string to be printed. Two tables on one line.""" + table_instance = SingleTable([['A', 'B'], ['C', 'D']]) + + # Get first table lines. + table_instance.outer_border = False + table_inner_borders = table_instance.table.splitlines() + + # Get second table lines. + table_instance.outer_border = True + table_instance.inner_heading_row_border = False + table_instance.inner_column_border = False + table_outer_borders = table_instance.table.splitlines() + + # Combine. + smallest, largest = sorted([table_inner_borders, table_outer_borders], key=len) + smallest += [''] * (len(largest) - len(smallest)) # Make both same size. + combined = list() + for i, row in enumerate(largest): + combined.append(row.ljust(10) + ' ' + smallest[i]) + return '\n'.join(combined) + + +def main(): + """Main function.""" + Windows.enable(auto_colors=True, reset_atexit=True) # Does nothing if not on Windows. + + # Server timings. + print(table_server_timings()) + print() + + # Server status. + print(table_server_status()) + print() + + # Two A B C D tables. + print(table_abcd()) + print() + + # Instructions. + table_instance = SingleTable([['Obey Obey Obey Obey']], 'Instructions') + print(table_instance.table) + print() + + +if __name__ == '__main__': + main() |