latin/text2pensum_cloze.py
2021-01-07 22:20:42 +01:00

28 lines
1000 B
Python

import sys
import re
for filename in sys.argv[1:]:
with open(filename, 'r') as infile:
content = infile.read()
# Replace _string_ with html
html_span_head = '<span>'
html_input_head = '<input type="text" data-expected="'
html_input_tail = '"/>'
html_span_tail = '</span>'
content = re.sub(r'(\s|\"|)([a-zA-Z\-\ÿ]+|)_([āēīōūa-zA-Z\-]+)_(\.|\,|)', r'\1' + html_span_head + r'\2' + html_input_head + r'\3' + html_input_tail + r'\4' + html_span_tail, content)
# Replace vowel-dash-vowel with vowels with macrons
content = content.replace('A-A', 'Ā')
content = content.replace('a-a', 'ā')
content = content.replace('E-E', 'Ē')
content = content.replace('e-e', 'ē')
content = content.replace('I-I', 'Ī')
content = content.replace('i-i', 'ī')
content = content.replace('O-O', 'Ō')
content = content.replace('o-o', 'ō')
content = content.replace('U-U', 'Ū')
content = content.replace('u-u', 'ū')
with open(filename + '.html', 'w') as outfile:
outfile.write(content)