def verify_all(num):
<EOL>keys = ('<STR_LIT>', '<STR_LIT>', '<STR_LIT:error>', '<STR_LIT>', '<STR_LIT>')<EOL>symbols = ('<STR_LIT:C>', '<STR_LIT:I>', '<STR_LIT:E>', '<STR_LIT:S>', '<STR_LIT:.>')<EOL>colours = ('<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>')<EOL>status = OrderedDict(<EOL>(key, click.style(symbol, fg=colour, bold=True))<EOL>for key, symbol, colour in zip(keys, symbols, colours)<EOL>)<EOL>overview = {}<EOL>files = problem_glob()<EOL>if not files:<EOL><INDENT>click.echo("<STR_LIT>")<EOL>sys.exit(<NUM_LIT:1>)<EOL><DEDENT>for file in files:<EOL><INDENT>try:<EOL><INDENT>is_correct = verify(file.num, filename=str(file), exit=False)<EOL><DEDENT>except KeyboardInterrupt:<EOL><INDENT>overview[file.num] = status['<STR_LIT>']<EOL><DEDENT>else:<EOL><INDENT>if is_correct is None:  <EOL><INDENT>overview[file.num] = status['<STR_LIT:error>']<EOL><DEDENT>elif is_correct:<EOL><INDENT>overview[file.num] = status['<STR_LIT>']<EOL><DEDENT>elif not is_correct:<EOL><INDENT>overview[file.num] = status['<STR_LIT>']<EOL>if file.num != num:<EOL><INDENT>file.change_suffix('<STR_LIT>')<EOL><DEDENT><DEDENT><DEDENT>click.echo()<EOL><DEDENT>legend = '<STR_LIT:U+002CU+0020>'.join('<STR_LIT>'.format(v, k) for k, v in status.items())<EOL>click.echo('<STR_LIT:->' * <NUM_LIT>)<EOL>click.echo(legend + '<STR_LIT:\n>')<EOL>num_of_rows = (num + <NUM_LIT>) // <NUM_LIT:20><EOL>for row in range(<NUM_LIT:1>, num_of_rows + <NUM_LIT:1>):<EOL><INDENT>low, high = (row * <NUM_LIT:20>) - <NUM_LIT>, (row * <NUM_LIT:20>)<EOL>click.echo("<STR_LIT>".format(low, high), nl=False)<EOL>for problem in range(low, high + <NUM_LIT:1>):<EOL><INDENT>status = overview[problem] if problem in overview else '<STR_LIT:.>'<EOL>spacer = '<STR_LIT:U+0020>' if (problem % <NUM_LIT:5> == <NUM_LIT:0>) else '<STR_LIT:U+0020>'<EOL>click.secho(status + spacer, nl=(problem % <NUM_LIT:20> == <NUM_LIT:0>))<EOL><DEDENT><DEDENT>click.echo()<EOL>
Verifies all problem files in the current directory and
prints an overview of the status of each problem.