Empty groupname will be 'DEFAULT' by default

By default, if the groupname is None, set it to 'DEFAULT'.
Seems like several libraries are exporting such groups, and it causes
sorting the 'by_section.items()' list to fail.

Closes-Bug: #1705245

Change-Id: I2001dc4894ff1e24c0eaed9ba71e3c5fba02ae36
(cherry picked from commit d7931f2573)
(cherry picked from commit 3f9f8d9350)
This commit is contained in:
Yuval Brik 2017-07-25 22:35:43 +03:00 committed by Ben Nemec
parent 63ec59ebe5
commit c7dc66cfd2
2 changed files with 7 additions and 3 deletions

View File

@ -205,6 +205,8 @@ def _format_option_help(app, namespaces, split_namespaces):
else:
group_name = group
group = None
if group_name is None:
group_name = 'DEFAULT'
lines = _format_group(
app=app,
namespace=namespace,
@ -227,6 +229,8 @@ def _format_option_help(app, namespaces, split_namespaces):
else:
group_name = group
group = None
if group_name is None:
group_name = 'DEFAULT'
group_objs.setdefault(group_name, group)
by_section.setdefault(group_name, []).extend(group_opts)
for group_name, group_opts in sorted(by_section.items()):

View File

@ -403,14 +403,14 @@ class FormatOptionHelpTest(base.BaseTestCase):
_format_group.assert_any_call(
app=None,
namespace='namespace1',
group_name=None,
group_name='DEFAULT',
group_obj=None,
opt_list=['opt1'],
)
_format_group.assert_any_call(
app=None,
namespace='namespace2',
group_name=None,
group_name='DEFAULT',
group_obj=None,
opt_list=['opt2'],
)
@ -429,7 +429,7 @@ class FormatOptionHelpTest(base.BaseTestCase):
_format_group.assert_called_once_with(
app=None,
namespace=None,
group_name=None,
group_name='DEFAULT',
group_obj=None,
opt_list=['opt1', 'opt2'],
)