From ff6703f6c3e5c3f432e9ca69267646f4e06084fe Mon Sep 17 00:00:00 2001 From: Raniere Silva <raniere@ime.unicamp.br> Date: Fri, 8 May 2015 16:56:30 -0300 Subject: [PATCH] Add number of errors This change was suggested by @abought. Close #230. --- tools/check.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/tools/check.py b/tools/check.py index d15c521..dc413ae 100755 --- a/tools/check.py +++ b/tools/check.py @@ -13,6 +13,7 @@ Call at command line with flag -h to see options and usage instructions. import argparse import collections +import functools import glob import hashlib import logging @@ -25,6 +26,19 @@ import yaml import validation_helpers as vh +NUMBER_OF_ERRORS = 0 + +def incr_error(func): + """Wrapper to count the number of errors""" + @functools.wraps(func) + def wrapper(*args, **kwargs): + global NUMBER_OF_ERRORS + NUMBER_OF_ERRORS += 1 + return func(*args, **kwargs) + return wrapper + +logging.error = incr_error(logging.error) + class MarkdownValidator(object): """Base class for Markdown validation @@ -822,12 +836,11 @@ def main(parsed_args_obj): if all_valid is True: logging.debug("All Markdown files successfully passed validation.") - sys.exit(0) else: logging.warning( - "Some errors were encountered during validation. " - "See log for details.") - sys.exit(1) + "{0} errors were encountered during validation. " + "See log for details.".format(NUMBER_OF_ERRORS)) + sys.exit(NUMBER_OF_ERRORS) if __name__ == "__main__": -- GitLab