Commit 768a743f authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Checker: Add abstract checker class.

Showing with 63 additions and 0 deletions
+63 -0
# -*- 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
# 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)
def summary(self):
"""Return summary message
Returns:
Return summary string
"""
raise NotImplementedMethodeError(self, self.summary)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment