| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/usr/bin/python
- import os
- import argparse
- import re
- START_SOLUTION_PATTERN = r'#>Solution'
- END_SOLUTION_PATTERN = r'#<'
- StartSolRec = re.compile(START_SOLUTION_PATTERN, re.M|re.I)
- EndSolRec = re.compile(END_SOLUTION_PATTERN, re.M|re.I)
- if __name__ == '__main__':
- parser = argparse.ArgumentParser(description='Exercise generation utility')
- parser.add_argument('file', help='text file the exercises are.')
-
- args = parser.parse_args()
-
- f = args.file
-
- assert os.path.isfile(f)
-
- filename, ext = os.path.splitext(f)
-
- of = filename+'_exercises'+ext
-
- lines = list()
- inSol = False
- with open(f, "r") as ins:
- for line in ins:
- lines.append(line)
-
- with open(of, "w") as outf:
- for line in lines:
- startSol = StartSolRec.search(line)
- if startSol:
- assert not inSol
- inSol = True
-
- if not inSol:
- outf.write(line)
-
- endSol = EndSolRec.search(line)
- if endSol:
- assert inSol
- inSol = False
|