Last sync from oslo-incubator

oslo-incubator will cease to host common code soon. This is
hopefully the very last sync from oslo-incubator.

Changes:

7f37bf8 Correct a typo
f4b09ce Sort keys in table output in print_dict
0753799 Allow specifying a table header for the value column in...

Change-Id: I7eb71518e3c9c0c51b08188fa83298dd9eac93dc
This commit is contained in:
Davanum Srinivas 2015-11-12 14:08:50 -05:00 committed by Matt Riedemann
parent e88df234da
commit ee714bfc50
1 changed files with 5 additions and 4 deletions

View File

@ -140,7 +140,7 @@ def isunauthenticated(func):
def print_list(objs, fields, formatters=None, sortby_index=0,
mixed_case_fields=None, field_labels=None):
"""Print a list or objects as a table, one row per object.
"""Print a list of objects as a table, one row per object.
:param objs: iterable of :class:`Resource`
:param fields: attributes that correspond to columns, in order
@ -186,16 +186,17 @@ def print_list(objs, fields, formatters=None, sortby_index=0,
print(encodeutils.safe_encode(pt.get_string(**kwargs)))
def print_dict(dct, dict_property="Property", wrap=0):
def print_dict(dct, dict_property="Property", wrap=0, dict_value='Value'):
"""Print a `dict` as a table of two columns.
:param dct: `dict` to print
:param dict_property: name of the first column
:param wrap: wrapping for the second column
:param dict_value: header label for the value (second) column
"""
pt = prettytable.PrettyTable([dict_property, 'Value'])
pt = prettytable.PrettyTable([dict_property, dict_value])
pt.align = 'l'
for k, v in six.iteritems(dct):
for k, v in sorted(dct.items()):
# convert dict to str to check length
if isinstance(v, dict):
v = six.text_type(v)