Repository :
http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
---------------------------------------------------------------
commit 86b2092259d77a49b10a776f91601ba96f46c162
Author: Peter Schiffer <pschiffe(a)redhat.com>
Date: Tue Oct 7 17:44:34 2014 +0200
Added min_column_sizes param to the TableFormatter
With min_column_sizes it's possible to define minimal size of selected columns
in tabular output of scripts.
---------------------------------------------------------------
cli/lmi/scripts/common/formatter/__init__.py | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/cli/lmi/scripts/common/formatter/__init__.py
b/cli/lmi/scripts/common/formatter/__init__.py
index d79ba58..e157bf0 100644
--- a/cli/lmi/scripts/common/formatter/__init__.py
+++ b/cli/lmi/scripts/common/formatter/__init__.py
@@ -246,10 +246,15 @@ class TableFormatter(ListFormatter):
The command must be provided as content of one row. This row is then not
printed and the command is executed.
+
+ :param dictionary min_column_sizes: Dictionary of minimal column sizes, where
+ keys are column numbers starting from 0, and values are minimal column
+ sizes.
"""
- def __init__(self, stream, padding=0, no_headings=False):
+ def __init__(self, stream, padding=0, no_headings=False, min_column_sizes=False):
super(TableFormatter, self).__init__(stream, padding, no_headings)
self.stash = []
+ self.min_column_sizes = min_column_sizes
def print_text_row(self, row, column_sizes):
for i in xrange(len(row)):
@@ -276,7 +281,11 @@ class TableFormatter(ListFormatter):
else:
row = self.column_names
for i in xrange(len(row)):
- column_sizes.append(len(row[i]))
+ if self.min_column_sizes and i in self.min_column_sizes \
+ and self.min_column_sizes[i] > len(row[i]):
+ column_sizes.append(self.min_column_sizes[i])
+ else:
+ column_sizes.append(len(row[i]))
except StopIteration:
pass # empty stash