From 0acfdd61edb96585c6438698bcc21e366acd4291 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 14 Jan 2013 21:34:19 -0500 Subject: [PATCH] make-directive-index: count how many directives and pages are shown --- make-directive-index.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/make-directive-index.py b/make-directive-index.py index 51d28c4fa..3bf672e1a 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): -- 2.30.2