| 17 | |
| 18 | |
| 19 | class ExampleReader: |
| 20 | |
| 21 | def __init__(self, problem_dir: Path): |
| 22 | self.problem_dir = problem_dir |
| 23 | |
| 24 | def __getitem__(self, key: str): |
| 25 | logger.info('read example: {}'.format(key)) |
| 26 | if key not in sources: |
| 27 | print('example file not found') |
| 28 | raise RuntimeError() |
| 29 | problem = sources[key] |
| 30 | if problem == '': |
| 31 | s = '### How to Use\n' |
| 32 | else: |
| 33 | s = '### AC code of [{}]({})\n'.format(problem, problem) |
| 34 | example = open(self.problem_dir / (key + '.cpp')).read() |
| 35 | |
| 36 | s += '\n' |
| 37 | s += '<div class="sample-code">' |
| 38 | s += str(escape(example)) |
| 39 | s += '</div>\n' |
| 40 | s += '\n' |
| 41 | |
| 42 | return s |
| 43 | |
| 44 | |
| 45 | html_head = open('template_head.html', 'r').read() |