summaryrefslogtreecommitdiff
path: root/cliff/formatters/table.py
diff options
context:
space:
mode:
Diffstat (limited to 'cliff/formatters/table.py')
-rw-r--r--cliff/formatters/table.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/cliff/formatters/table.py b/cliff/formatters/table.py
index df0b087..fb545c4 100644
--- a/cliff/formatters/table.py
+++ b/cliff/formatters/table.py
@@ -100,7 +100,7 @@ class TableFormatter(base.ListFormatter, base.SingleFormatter):
# preference to wrapping columns smaller than 8 characters.
min_width = 8
self._assign_max_widths(
- stdout, x, int(parsed_args.max_width), min_width,
+ x, int(parsed_args.max_width), min_width,
parsed_args.fit_width)
formatted = x.get_string()
@@ -125,7 +125,7 @@ class TableFormatter(base.ListFormatter, base.SingleFormatter):
# the Field column readable.
min_width = 16
self._assign_max_widths(
- stdout, x, int(parsed_args.max_width), min_width,
+ x, int(parsed_args.max_width), min_width,
parsed_args.fit_width)
formatted = x.get_string()
@@ -170,14 +170,18 @@ class TableFormatter(base.ListFormatter, base.SingleFormatter):
return shrink_fields, shrink_remaining
@staticmethod
- def _assign_max_widths(stdout, x, max_width, min_width=0, fit_width=False):
+ def _assign_max_widths(x, max_width, min_width=0, fit_width=False):
+ """Set maximum widths for columns of table `x`,
+ with the last column recieving either leftover columns
+ or `min_width`, depending on what offers more space.
+ """
if max_width > 0:
term_width = max_width
elif not fit_width:
# Fitting is disabled
return
else:
- term_width = utils.terminal_width(stdout)
+ term_width = utils.terminal_width()
if not term_width:
# not a tty, so do not set any max widths
return
@@ -204,6 +208,6 @@ class TableFormatter(base.ListFormatter, base.SingleFormatter):
x.max_width[field] = max(min_width, shrink_to)
shrink_remaining -= shrink_to
- # give the last shrinkable column shrink_to plus any remaining
+ # give the last shrinkable column any remaining shrink or min_width
field = shrink_fields[-1]
x.max_width[field] = max(min_width, shrink_remaining)