Pamhyr2/src/Checker/Checker.py

60 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
from enum import Enum
from Model.Except import NotImplementedMethodeError
class STATUS(Enum):
UNKNOWN = -1
OK = 0
WARNING = 1
ERROR = 2
class AbstractModelChecker(object):
def __init__(self):
self._name = ""
self._description = ""
self._status = STATUS.UNKNOWN
self._summary = "Unknown"
@property
def name(self):
return self._name
@property
def description(self):
return self._description
@property
def summary(self):
return self._summary
# Checker status
def is_unknown(self):
return self._status == STATUS.UNKNOWN
def is_ok(self):
return self._status == STATUS.OK
def is_warning(self):
return self._status == STATUS.WARNING
def is_error(self):
return self._status == STATUS.ERROR
# Abstract function
def run(self, study):
"""Run checker function
Args:
study: The study to check
Returns:
Return true if study is valid for this checker, false
otherelse
"""
raise NotImplementedMethodeError(self, self.run)