#!/usr/bin/env python3
import re
import sys
stage = 0
example = 0
section = ""
if len(sys.argv) > 1:
specfile = sys.argv[1]
else:
specfile = 'spec.txt'
with open(specfile, 'r', encoding='utf-8') as spec:
for ln in spec:
if re.match(r'^\.$', ln):
if stage == 0:
example += 1
sys.stdout.write("\n
\n".format(example, section))
sys.stdout.write("
\n\n".format(example))
sys.stdout.write("````````````````````````````````````````````````````````` markdown\n")
stage = 1
elif stage == 1:
sys.stdout.write("`````````````````````````````````````````````````````````\n\n")
sys.stdout.write("````````````````````````````````````````````````````````` html\n")
stage = 2
elif stage == 2:
sys.stdout.write("`````````````````````````````````````````````````````````\n\n")
sys.stdout.write("
\n")
stage = 0
else:
sys.stderr.out("Encountered unknown stage {0}\n".format(stage))
sys.exit(1)
else:
if stage == 0:
match = re.match(r'^#{1,6} *(.*)', ln)
if match:
section = match.group(1)
else:
ln = re.sub(r' ', '␣', ln)
sys.stdout.write(ln)