120 lines
No EOL
3 KiB
Python
120 lines
No EOL
3 KiB
Python
|
|
KEY_PARSER = "parser"
|
|
KEY_COMMENT = "comment"
|
|
KEY_THRESHOLD = "threshold"
|
|
KEY_FAILS = "fails"
|
|
KEY_PERIODS = "periods"
|
|
KEY_ARGS = "args"
|
|
|
|
|
|
class Service:
|
|
def __init__(self, **kwargs):
|
|
|
|
self._args = {}
|
|
if KEY_ARGS in kwargs:
|
|
self.add_arguments(kwargs[KEY_ARGS])
|
|
elif self.needs_arguments():
|
|
raise Exception("Error: needs arguments but none provided!")
|
|
|
|
self._host = None
|
|
|
|
self._parser = []
|
|
if KEY_PARSER in kwargs:
|
|
self.add_parser(kwargs[KEY_PARSER])
|
|
|
|
self._comment = None
|
|
if KEY_COMMENT in kwargs:
|
|
self._comment = kwargs[KEY_COMMENT]
|
|
|
|
self._threshold = 0
|
|
if KEY_THRESHOLD in kwargs:
|
|
self._threshold = kwargs[KEY_THRESHOLD]
|
|
|
|
self._fails = {}
|
|
if KEY_FAILS in kwargs:
|
|
self.put_fails(kwargs[KEY_FAILS])
|
|
|
|
self._periods = []
|
|
if KEY_PERIODS in kwargs:
|
|
self.addPeriods(kwargs[KEY_PERIODS])
|
|
|
|
self.errorcode = 0
|
|
self.errormessage = "No Error!"
|
|
|
|
def add_arguments(self, args):
|
|
for key, val in args.items():
|
|
self._args[key] = val
|
|
|
|
def add_argument(self, key, value):
|
|
self._args[key] = value
|
|
|
|
def get_arguments(self):
|
|
return self._args
|
|
|
|
def add_period(self, period):
|
|
if period is not None:
|
|
if isinstance(period, list):
|
|
self._periods.extend(period)
|
|
else:
|
|
self._periods.append(period)
|
|
|
|
def get_periods(self):
|
|
return self._periods
|
|
|
|
def get_fails(self):
|
|
return self._fails
|
|
|
|
def has_fail(self, fail):
|
|
return fail in self.get_fails()
|
|
|
|
def put_fail(self, key, value):
|
|
self._fails[key] = value
|
|
|
|
def put_fails(self, fails):
|
|
for key, value in fails.items():
|
|
self.put_fail(key, value)
|
|
|
|
def get_threshold(self):
|
|
return self._threshold
|
|
|
|
def get_comment(self):
|
|
return self._comment
|
|
|
|
def set_host(self, host):
|
|
self._host = host
|
|
|
|
def get_host(self):
|
|
return self._host
|
|
|
|
def get_parser(self):
|
|
return self._parser
|
|
|
|
def add_parser(self, parser):
|
|
if parser is not None:
|
|
if isinstance(parser, list):
|
|
self._parser.extend(parser)
|
|
else:
|
|
self._parser.append(parser)
|
|
|
|
def needs_arguments(self):
|
|
return False
|
|
|
|
def _execute(self):
|
|
self.pre_execute()
|
|
executionResult = self.execute()
|
|
parseResult = self.parse_result(executionResult)
|
|
self.handle_result(parseResult)
|
|
|
|
def execute(self):
|
|
pass
|
|
|
|
def pre_execute(self):
|
|
pass
|
|
|
|
def parse_result(self, executionResult):
|
|
result = []
|
|
for parser in self.get_parser():
|
|
result.append(self._parser._parse(executionResult))
|
|
|
|
def handle_result(self, parseResult):
|
|
pass |