From c17d2ef593faa4b0c83916ffc336ea998fa20dd8 Mon Sep 17 00:00:00 2001
From: Miroslav Hanak <miroslav.hanak@nic.cz>
Date: Wed, 14 Dec 2022 17:11:32 +0100
Subject: [PATCH] Improve ZabbixMetrics

---
 zabbix_sender/sender.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/zabbix_sender/sender.py b/zabbix_sender/sender.py
index 0a3b307..a3a18ce 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:
-- 
GitLab