Files
src_old/doc/postprocess.py
T

40 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python
from lxml import etree
from lxml.html import builder as E
import os
import re
tree = etree.parse('tagfile')
tags = tree.xpath ('//member[@kind="function"]')
tags_per_files = {}
for tag in tags:
name = tag.find("name").text
anchor = tag.find("anchor").text
anchorfile = tag.find("anchorfile").text
if anchorfile in tags_per_files:
tags_per_files[anchorfile].append([name, anchor])
else:
tags_per_files[anchorfile] = [[name, anchor]]
prefix = None
for line in open("Doxyfile", "r"):
if re.search ("^OUTPUT_DIRECTORY", line):
prefix = line.split("=")[-1].strip()
if not prefix:
prefix = "."
parser = etree.HTMLParser()
for filename,anchors in tags_per_files.items():
print "Processing file: %s/%s" % (prefix, filename)
tree = etree.parse ("%s/%s" % (prefix, filename), parser)
for name,id in anchors:
anchor = tree.xpath ('//a[@id="%s"]' % id)
el = E.A(id="%s" % name)
anchor[0].addnext (el)
f = open ("%s/%s" % (prefix, filename), "w")
f.write (etree.tostring (tree))