ndc-content-tools/renumber-footnotes.py
2024-01-30 12:47:40 +01:00

24 lines
699 B
Python
Executable File

#!/bin/env python3
import re
import sys
with open(sys.argv[1], 'r') as f:
text = f.read()
result = ''
prev = 0
count = 1
for match in re.finditer(r"(\[[^]]*\]\s*\(\s*#fn(\d+)\s*\)\s*\[\s*\^(\d+)\s*\])", text):
result += text[prev:match.start(2)] + str(count) + text[match.end(2):match.start(3)] + str(count)
prev = match.end(3)
count += 1
count = 1
end_doc_start = prev
for match in re.finditer(r"^\[\s*\^(\d+)\s*\]:", text[end_doc_start:], re.MULTILINE):
result += text[prev:match.start(1)+end_doc_start] + str(count)
prev = match.end(1)+end_doc_start
count += 1
result += text[prev:]
print(result, end='')