summaryrefslogtreecommitdiff
path: root/doc/resolve-asciidoc-refs.py
blob: d661c563dbb992000be8ce18c6ac593138b4b1a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env python

from __future__ import print_function

import re
import sys

refs = {}
complete_file = ""

for line in open(sys.argv[1], "r"):
    complete_file += line

for m in re.findall("\\[\\[(.+)\\]\\]\n=+ ([^\n]+)", complete_file):
    ref, title = m
    refs["<<" + ref + ">>"] = "<<" + ref + ", " + title + ">>"


def translate(match):
    try:
        return refs[match.group(0)]
    except KeyError:
        return ""


rc = re.compile("|".join(map(re.escape, sorted(refs, reverse=True))))
for line in open(sys.argv[1], "r"):
    print(rc.sub(translate, line), end="")