diff --git a/zabbix_sender/sender.py b/zabbix_sender/sender.py index 0a3b307f98ec11d1156662efffaccb589d0272d4..a3a18ce3a107b4cead23c8d2439f5c681c297bf1 100755 --- a/zabbix_sender/sender.py +++ b/zabbix_sender/sender.py @@ -2,9 +2,16 @@ import json import socket import struct +from .exceptions import InvalidMetricsHostError, InvalidMetricsKeyError, InvalidMetricsValueError class ZabbixMetrics: - def __init__(self, host, key, value, clock=None, ns=None): + def __init__(self, host: str, key: str, value: str | int | float, clock=None, ns=None): + if not host: + raise InvalidMetricsHostError("") + if not key: + raise InvalidMetricsKeyError("") + if value is None: + raise InvalidMetricsValueError("") self.host = host self.key = key self.value = value @@ -14,8 +21,7 @@ class ZabbixMetrics: self.ns = ns def __repr__(self): - result = json.dumps(self.__dict__, ensure_ascii=False) - return result + return json.dumps(self.__dict__, ensure_ascii=False) class ZabbixResponse: