From a094e9a917c05767c6071dff6ee47fde58c57975 Mon Sep 17 00:00:00 2001 From: cmk-bonobo Date: Sun, 14 Jan 2024 16:43:19 +0100 Subject: [PATCH] MKP 1.0.7, extended type hints, added file error handling --- .../share/check_mk/agents/special/agent_hal9001 | 10 +++++----- mkp/hal9001-1.0.7.mkp | Bin 0 -> 9204 bytes 2 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 mkp/hal9001-1.0.7.mkp diff --git a/local/share/check_mk/agents/special/agent_hal9001 b/local/share/check_mk/agents/special/agent_hal9001 index d5f5890..67533bc 100644 --- a/local/share/check_mk/agents/special/agent_hal9001 +++ b/local/share/check_mk/agents/special/agent_hal9001 @@ -98,7 +98,7 @@ def debugLog(function): # write output to file if debugLogFilename != "": try: - with open(debugLogFilename, "a") as f: + with open(debugLogFilename, "a+") as f: f.write(f"{out1}{out2}{out3}\n") except: sys.stderr.write(f"Something went wrong when writing to file {debugLogFilename}\n") @@ -210,7 +210,7 @@ def calculateNewUserStorage(current_storage: float) -> float: return float(new_storage) #@debugLog -def calculateNewStorageCounters(ul_bytes: float, dl_bytes: float) -> tuple: +def calculateNewStorageCounters(ul_bytes: float, dl_bytes: float) -> tuple[float, float]: # let the chance that no change occured be at 2% no_change = random.randint(1, 100) if no_change > 98: @@ -300,7 +300,7 @@ def doCmkHalStoragesOutput(storages: dict, hostname: str) -> None: print(f"{storage};{realname};{new_ul_bytes};{new_dl_bytes}") #@debugLog -def getStatus() -> tuple: +def getStatus() -> tuple[str, str]: # randomly set one of the three available states status_index = random.randint(1,100) if status_index <= 5: @@ -315,14 +315,14 @@ def getStatus() -> tuple: return hal_status, hal_version #@debugLog -def doLogin(hostname: str, username: str, password: str) -> tuple: +def doLogin(hostname: str, username: str, password: str) -> tuple[bool, int]: # simulate the login to our HAL system # give it a chance of 2% to fail to demonstrate an error from time to time success = random.randint(1, 100) if success > 2: return True, 200 else: - return False, 404 + return False, 401 def main(): global debugLogFilename diff --git a/mkp/hal9001-1.0.7.mkp b/mkp/hal9001-1.0.7.mkp new file mode 100644 index 0000000000000000000000000000000000000000..c8fd04a2a0a7564317f3911a288d3ee6ff29c434 GIT binary patch literal 9204 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 literal 0 HcmV?d00001