diff options
author | Ryan Petrello <lists@ryanpetrello.com> | 2015-05-06 10:17:30 -0400 |
---|---|---|
committer | Ryan Petrello <lists@ryanpetrello.com> | 2015-05-06 10:17:56 -0400 |
commit | ca2e90a94031fdbba31bf4bda87b51a87e97eb7c (patch) | |
tree | fb7475ce51ddc4d8807900553d52eff682fe4f9e /cliff/formatters/table.py | |
parent | 79a8791e7fefdcbe62f264bf905ac09a1958e753 (diff) | |
download | cliff-master.tar.gz |
Diffstat (limited to 'cliff/formatters/table.py')
-rw-r--r-- | cliff/formatters/table.py | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/cliff/formatters/table.py b/cliff/formatters/table.py deleted file mode 100644 index e625a25..0000000 --- a/cliff/formatters/table.py +++ /dev/null @@ -1,64 +0,0 @@ -"""Output formatters using prettytable. -""" - -import prettytable - -from .base import ListFormatter, SingleFormatter - - -class TableFormatter(ListFormatter, SingleFormatter): - - ALIGNMENTS = { - int: 'r', - str: 'l', - float: 'r', - } - try: - ALIGNMENTS[unicode] = 'l' - except NameError: - pass - - def add_argument_group(self, parser): - pass - - def emit_list(self, column_names, data, stdout, parsed_args): - x = prettytable.PrettyTable( - column_names, - print_empty=False, - ) - x.padding_width = 1 - # Figure out the types of the columns in the - # first row and set the alignment of the - # output accordingly. - data_iter = iter(data) - try: - first_row = next(data_iter) - except StopIteration: - pass - else: - for value, name in zip(first_row, column_names): - alignment = self.ALIGNMENTS.get(type(value), 'l') - x.align[name] = alignment - # Now iterate over the data and add the rows. - x.add_row(first_row) - for row in data_iter: - x.add_row(row) - formatted = x.get_string(fields=column_names) - stdout.write(formatted) - stdout.write('\n') - return - - def emit_one(self, column_names, data, stdout, parsed_args): - x = prettytable.PrettyTable(field_names=('Field', 'Value'), - print_empty=False) - x.padding_width = 1 - # Align all columns left because the values are - # not all the same type. - x.align['Field'] = 'l' - x.align['Value'] = 'l' - for name, value in zip(column_names, data): - x.add_row((name, value)) - formatted = x.get_string(fields=('Field', 'Value')) - stdout.write(formatted) - stdout.write('\n') - return |