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