--- a/testsuite.py Thu Aug 26 19:16:25 2021 +0300 +++ b/testsuite.py Thu Aug 26 19:36:44 2021 +0300 @@ -129,48 +129,6 @@ message = message(**problem.args) return message -def format_report_html(report, model, test_suite): - messages = [] - for problem in report['problems']: - ldraw_code = model.body[problem.body_index].textual_representation() - message = str.format( - '<li class="{problem_type}">{model_name}:{line_number}:' - '{problem_type}: {message}<br />{ldraw_code}</li>', - model_name = model.name, - line_number = problem.line_number, - problem_type = problem.severity, - message = problem_text(problem, test_suite), - ldraw_code = ldraw_code, - ) - messages.append(message) - return '\n'.join(messages) - -def format_report(report, model, test_suite): - import colorama - colorama.init() - messages = [] - for problem in report['problems']: - if problem.severity == 'hold': - text_colour = colorama.Fore.LIGHTRED_EX - elif problem.severity == 'warning': - text_colour = colorama.Fore.LIGHTBLUE_EX - else: - text_colour = '' - ldraw_code = model.body[problem.body_index].textual_representation() - message = str.format( - '{text_colour}{model_name}:{line_number}: {problem_type}: {message}' - '{colour_reset}\n\t{ldraw_code}', - text_colour = text_colour, - model_name = model.name, - line_number = problem.line_number, - problem_type = problem.severity, - message = problem_text(problem, test_suite), - colour_reset = colorama.Fore.RESET, - ldraw_code = ldraw_code, - ) - messages.append(message) - return '\n'.join(messages) - def iterate_problems(test_suite): for test_function in test_suite['tests']: yield from test_function.ldcheck_problem_types.values() @@ -180,7 +138,12 @@ iterate_problems(test_suite), key = lambda problem_type: problem_type.name ) - + +def all_problem_type_names(test_suite): + return set( + problem_type.name + for problem_type in iterate_problems(test_suite) + ) if __name__ == '__main__': from pprint import pprint