| #!/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), |