#!/usr/bin/env python | |
import fileinput | |
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), |