diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst index 9b4aa68b..dedeff26 100644 --- a/RELEASE_NOTES.rst +++ b/RELEASE_NOTES.rst @@ -6,7 +6,8 @@ Release notes * ``openstack-doc-test``: Optimize translation imports, improve output messages. -* ``autohelp.py``: Improve sanitizer, better support for i18n in projects. +* ``autohelp.py``: Improve sanitizer, better support for i18n in + projects, allow setting of title name for tables. * ``autohelp-wrapper``: Smarter handling of the manuals repo and environment setup. * ``diff_branches.py``: Updated output format. diff --git a/autogenerate_config_docs/autohelp.py b/autogenerate_config_docs/autohelp.py index 545f6bfd..7fc1b6b4 100755 --- a/autogenerate_config_docs/autohelp.py +++ b/autogenerate_config_docs/autohelp.py @@ -44,7 +44,7 @@ BASE_XML = ''' generated and your changes will be overwritten. The tool to do so lives in openstack-doc-tools repository. --> - + @@ -334,12 +334,29 @@ def write_docbook(package_name, options, target, verbose=0): for category in categories.split(): options_by_cat.setdefault(category, []).append(opt) + category_names = {} + try: + with open(package_name + '.headers') as f: + for line in f: + cat, nice_name = line.split(' ', 1) + category_names[cat] = nice_name.strip() + except IOError: + print("Cannot open %s (ignored)" % (package_name + '.headers')) + if not os.path.isdir(target): os.makedirs(target) for cat in options_by_cat.keys(): parser = etree.XMLParser(remove_blank_text=True) - xml = etree.XML(BASE_XML % {'pkg': package_name, 'cat': cat}, parser) + if cat in category_names: + nice_cat = category_names[cat] + else: + nice_cat = cat + print("No nicename for %s" % cat) + xml = etree.XML(BASE_XML % + {'pkg': package_name, 'cat': cat, + 'nice_cat': nice_cat}, + parser) tbody = xml.find(".//{http://docbook.org/ns/docbook}tbody") curgroup = None for optname in options_by_cat[cat]: @@ -428,7 +445,9 @@ def write_docbook_rootwrap(package_name, repo, target, verbose=0): os.makedirs(target) parser = etree.XMLParser(remove_blank_text=True) - xml = etree.XML(BASE_XML % {'pkg': package_name, 'cat': 'rootwrap'}, + xml = etree.XML(BASE_XML % {'pkg': package_name, + 'cat': 'rootwrap', + 'nice_cat': 'rootwrap'}, parser) tbody = xml.find(".//{http://docbook.org/ns/docbook}tbody")
Description of configuration options for %(cat)sDescription of %(nice_cat)s configuration options