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.

Change-Id: I2001dc4894ff1e24c0eaed9ba71e3c5fba02ae36
This commit is contained in:
Yuval Brik 2017-07-25 22:35:43 +03:00
parent dfc70fa88e
commit d7931f2573
2 changed files with 7 additions and 3 deletions

View File

@ -206,6 +206,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,
@ -228,6 +230,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'],
)