From d7931f25738a435574cd2d7740c650c78d71fdc2 Mon Sep 17 00:00:00 2001 From: Yuval Brik Date: Tue, 25 Jul 2017 22:35:43 +0300 Subject: [PATCH] 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 --- oslo_config/sphinxext.py | 4 ++++ oslo_config/tests/test_sphinxext.py | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/oslo_config/sphinxext.py b/oslo_config/sphinxext.py index 133028aa..1de23d2a 100644 --- a/oslo_config/sphinxext.py +++ b/oslo_config/sphinxext.py @@ -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()): diff --git a/oslo_config/tests/test_sphinxext.py b/oslo_config/tests/test_sphinxext.py index 03e7cbb2..2a201967 100644 --- a/oslo_config/tests/test_sphinxext.py +++ b/oslo_config/tests/test_sphinxext.py @@ -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'], )