summaryrefslogtreecommitdiffstats
path: root/Src/PyCatcher/src/evaluators.py
diff options
context:
space:
mode:
Diffstat (limited to 'Src/PyCatcher/src/evaluators.py')
-rw-r--r--Src/PyCatcher/src/evaluators.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/Src/PyCatcher/src/evaluators.py b/Src/PyCatcher/src/evaluators.py
new file mode 100644
index 0000000..3170f4a
--- /dev/null
+++ b/Src/PyCatcher/src/evaluators.py
@@ -0,0 +1,31 @@
+from rules import RuleResult
+
+class EvaluatorSelect:
+ CONSERVATIVE = 0
+ WEIGHTED = 1
+ BAYES = 2
+
+class Evaluator:
+
+ return_type = type(RuleResult)
+
+ def evaluate(self, result_list):
+ return RuleResult.CRITICAL
+
+class ConservativeEvaluator(Evaluator):
+
+ def evaluate(self, result_list):
+ final_result = RuleResult.OK
+ for key in result_list.keys():
+ if result_list[key] == RuleResult.WARNING:
+ final_result = RuleResult.WARNING
+ if result_list[key] == RuleResult.CRITICAL:
+ final_result = RuleResult.CRITICAL
+ break
+ return final_result
+
+class BayesEvaluator(Evaluator):
+ return_type = type(int)
+
+class WeightedEvaluator(Evaluator):
+ return_type = type(int) \ No newline at end of file