add header alingment for PrettyTable 3.4.0

In 3.3.0 the align attirbute applied to both the header
and the data. In 3.4.0 align only applies to the data.

This change restores the previous left align behavior
for both header and data.

Closes-Bug: #1988482
Change-Id: Ia77410b10c1706bc6561b11cf5d2ef72b936795e
This commit is contained in:
Sean Mooney 2022-09-02 13:42:15 +01:00
parent 90e2a5e50f
commit 6569de43a6
1 changed files with 4 additions and 0 deletions

View File

@ -122,6 +122,10 @@ def format_dict(dct, dict_property="Property", dict_value='Value',
"""
pt = prettytable.PrettyTable([dict_property, dict_value])
pt.align = 'l'
# starting in PrettyTable 3.4.0 we need to also set the header
# as align now only applies to the data.
if hasattr(pt, 'header_align'):
pt.header_align = 'l'
for k, v in sorted(dct.items(), key=sort_key):
# convert dict to str to check length
if isinstance(v, dict):