# along with systemd; If not, see <http://www.gnu.org/licenses/>.
import collections
-import xml.etree.ElementTree as tree
import sys
import re
+from xml_helper import *
+
MDASH = ' — ' if sys.version_info.major >= 3 else ' -- '
TEMPLATE = '''\
COUNTS = '\
This index contains {count} entries, referring to {pages} individual manual pages.'
+
def check_id(page, t):
id = t.getroot().get('id')
if not re.search('/' + id + '[.]', page):
def make_index(pages):
index = collections.defaultdict(list)
for p in pages:
- t = tree.parse(p)
+ t = xml_parse(p)
check_id(p, t)
section = t.find('./refmeta/manvolnum').text
refname = t.find('./refnamediv/refname').text
para = template.find(".//para[@id='counts']")
para.text = COUNTS.format(count=count, pages=len(pages))
-def make_page(xml_files):
+def make_page(*xml_files):
template = tree.fromstring(TEMPLATE)
index = make_index(xml_files)
return template
if __name__ == '__main__':
- tree.dump(make_page(sys.argv[1:]))
+ with open(sys.argv[1], 'wb') as f:
+ f.write(xml_print(make_page(*sys.argv[2:])))