diff options
Diffstat (limited to 'make-man-index.py')
-rwxr-xr-x | make-man-index.py | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/make-man-index.py b/make-man-index.py deleted file mode 100755 index 56f38ce413..0000000000 --- a/make-man-index.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- Mode: python; indent-tabs-mode: nil -*- */ -# -# This file is part of systemd. -# -# Copyright 2012 Lennart Poettering -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. -# -# systemd is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with systemd; If not, see <http://www.gnu.org/licenses/>. - -from xml.etree.ElementTree import parse, Element, SubElement, tostring -from sys import argv, stdout - -index = {} - -def prettify(elem, indent = 0): - s = "\n" + indent * " " - if len(elem): - if not elem.text or not elem.text.strip(): - elem.text = s + " " - for e in elem: - prettify(e, indent + 1) - if not e.tail or not e.tail.strip(): - e.tail = s + " " - if not e.tail or not e.tail.strip(): - e.tail = s - else: - if indent and (not elem.tail or not elem.tail.strip()): - elem.tail = s - -for p in argv[1:]: - t = parse(p) - section = t.find('./refmeta/manvolnum').text - purpose = ' '.join(t.find('./refnamediv/refpurpose').text.split()) - for f in t.findall('./refnamediv/refname'): - index[f.text] = (p, section, purpose) - -html = Element('html') - -head = SubElement(html, 'head') -title = SubElement(head, 'title') -title.text = 'Manual Page Index' - -body = SubElement(html, 'body') -h1 = SubElement(body, 'h1') -h1.text = 'Manual Page Index' - -letter = None -for n in sorted(index.keys(), key = str.lower): - path, section, purpose = index[n] - - if path.endswith('.xml'): - path = path[:-4] + ".html" - - c = path.rfind('/') - if c >= 0: - path = path[c+1:] - - if letter is None or n[0].upper() != letter: - letter = n[0].upper() - - h2 = SubElement(body, 'h2') - h2.text = letter - - ul = SubElement(body, 'ul') - ul.set('style', 'list-style-type:none') - - li = SubElement(ul, 'li') - - a = SubElement(li, 'a') - a.set('href', path) - a.text = n + '(' + section + ')' - a.tail = ' -- ' - - i = SubElement(li, 'i') - i.text = purpose - -hr = SubElement(body, 'hr') - -p = SubElement(body, 'p') -p.text = "This index contains %s entries, referring to %i individual manual pages." % (len(index), len(argv)-1) - -if hasattr(stdout, "buffer"): - stdout = stdout.buffer -prettify(html) -stdout.write(tostring(html)) |