diff --git a/make-directive-index.py b/make-directive-index.py index 51d28c4fae..3bf672e1a6 100755 --- a/make-directive-index.py +++ b/make-directive-index.py @@ -92,9 +92,19 @@ TEMPLATE = '''\ + + + Colophon + + ''' +COLOPHON = '''\ +This index contains {count} entries in {sections} sections, +referring to {pages} individual manual pages. +''' + def _extract_directives(directive_groups, page): t = tree.parse(page) section = t.find('./refmeta/manvolnum').text @@ -125,6 +135,19 @@ def _make_section(template, name, directives): d.text = manvolume entry.tail = '\n\n' +def _make_colophon(template, groups): + count = 0 + pages = set() + for group in groups: + count += len(group) + for pagelist in group.values(): + pages |= set(pagelist) + + para = template.find(".//para[@id='colophon']") + para.text = COLOPHON.format(count=count, + sections=len(groups), + pages=len(pages)) + def _make_page(template, directive_groups): """Create an XML tree from directive_groups. @@ -137,6 +160,8 @@ def _make_page(template, directive_groups): for name, directives in directive_groups.items(): _make_section(template, name, directives) + _make_colophon(template, directive_groups.values()) + return template def make_page(xml_files):