diff --git a/scripts/dev/src2asciidoc.py b/scripts/dev/src2asciidoc.py index 94719fb61..d80be3719 100755 --- a/scripts/dev/src2asciidoc.py +++ b/scripts/dev/src2asciidoc.py @@ -347,6 +347,32 @@ def generate_commands(filename): f.write(_get_command_doc(name, cmd)) +def _generate_setting_section(f, sectname, sect): + """Generate documentation for a single section.""" + for optname, option in sect.items(): + f.write("\n") + f.write('[[{}-{}]]'.format(sectname, optname) + "\n") + f.write("=== {}".format(optname) + "\n") + f.write(sect.descriptions[optname] + "\n") + f.write("\n") + valid_values = option.typ.valid_values + if valid_values is not None: + f.write("Valid values:\n") + f.write("\n") + for val in valid_values: + try: + desc = valid_values.descriptions[val] + f.write(" * +{}+: {}".format(val, desc) + "\n") + except KeyError: + f.write(" * +{}+".format(val) + "\n") + f.write("\n") + if option.default(): + f.write("Default: +pass:[{}]+\n".format(html.escape( + option.default()))) + else: + f.write("Default: empty\n") + + def generate_settings(filename): """Generate the complete settings section.""" with _open_file(filename) as f: @@ -359,28 +385,7 @@ def generate_settings(filename): if not getattr(sect, 'descriptions'): pass else: - for optname, option in sect.items(): - f.write("\n") - f.write('[[{}-{}]]'.format(sectname, optname) + "\n") - f.write("=== {}".format(optname) + "\n") - f.write(sect.descriptions[optname] + "\n") - f.write("\n") - valid_values = option.typ.valid_values - if valid_values is not None: - f.write("Valid values:\n") - f.write("\n") - for val in valid_values: - try: - desc = valid_values.descriptions[val] - f.write(" * +{}+: {}".format(val, desc) + "\n") - except KeyError: - f.write(" * +{}+".format(val) + "\n") - f.write("\n") - if option.default(): - f.write("Default: +pass:[{}]+\n".format(html.escape( - option.default()))) - else: - f.write("Default: empty\n") + _generate_setting_section(f, sectname, sect) def _get_authors():