From 470e01b4375b8383aec6e2034cdcd71275ba0275 Mon Sep 17 00:00:00 2001 From: John Donaldson Date: Wed, 14 Aug 2019 23:55:37 +0100 Subject: [PATCH] Adding objectives validator --- devel/validate.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/devel/validate.py b/devel/validate.py index e959b23..404d196 100644 --- a/devel/validate.py +++ b/devel/validate.py @@ -144,6 +144,24 @@ class MothValidator: if ksa_re.match(ksa) is None: raise MothValidationError("Unrecognized KSA format (%s)" % (ksa,)) + @staticmethod + def check_success(puzzle): + """Check if success criteria are defined""" + + if not hasattr(puzzle, "success"): + raise MothValidationError("Success not defined") + + criteria = ["acceptable", "mastery"] + missing_criteria = [] + for criterion in criteria: + if criterion not in puzzle.success.keys() or \ + puzzle.success[criterion] is None or \ + len(puzzle.success[criterion]) == 0: + missing_criteria.append(criterion) + + if len(missing_criteria) > 0: + raise MothValidationError("Missing success criteria (%s)" % (", ".join(missing_criteria))) + def output_json(data): """Output results in JSON format"""