MKP 2.5.1, added version infos for apps with available updates

This commit is contained in:
mellis
2024-01-12 16:38:48 +01:00
parent 05415a8d1d
commit a2a409a405
9 changed files with 65 additions and 10 deletions

View File

@@ -39,7 +39,7 @@ def check_nextcloud_info(params, section):
except KeyError:
last_update = "Update information not available, update to at least version 28"
update_available = "False"
last_update_human = "Update information not available"
last_update_human = "Information not available"
status = section[key]["status"]
free_space = section[key]["freespace"]
version = section[key]["version"]
@@ -53,8 +53,8 @@ def check_nextcloud_info(params, section):
yield(Metric("nc_num_shares", num_shares))
# create overall result
summary = f"Status is {status}"
details = f"Nextcloud version: {version}\nLast update: {last_update_human}\nPHP version: {php_version}\nWebserver: {webserver}\n\nNumber of files: {num_files}\nNumber of shares: {num_shares}\n\nFree space on disk: {render.bytes(free_space)}\n"
summary = f"Status is {status}, Last update: {last_update_human}"
details = f"Nextcloud version: {version}\nPHP version: {php_version}\nWebserver: {webserver}\n\nNumber of files: {num_files}\nNumber of shares: {num_shares}\n\nFree space on disk: {render.bytes(free_space)}\n"
if status == "ok":
state = State.OK
else:
@@ -118,12 +118,19 @@ def check_nextcloud_info(params, section):
try:
num_apps_installed = section[key]["installed"]
num_apps_with_updates_available = section[key]["with_updates_available"]
if "app_versions" in section[key]:
app_versions = section[key]["app_versions"]
else:
app_versions = ""
# create graphs for number of apps
levels = params["levels_apps_with_updates_available"]
yield Metric("nc_num_apps_installed", num_apps_installed)
yield Metric("nc_apps_with_updates_available", num_apps_with_updates_available, levels=levels)
state = getStateUpper(levels, num_apps_with_updates_available)
notice = f"Number of installed apps: {num_apps_installed}\nNumber of apps with updates available: {num_apps_with_updates_available}"
if (app_versions == ""):
notice = f"Number of installed apps: {num_apps_installed}\nNumber of apps with updates available: {num_apps_with_updates_available}"
else:
notice = f"Number of installed apps: {num_apps_installed}\nNumber of apps with updates available: {num_apps_with_updates_available}\nNew app versions available: {app_versions}"
yield(Result(state=state, notice=notice))
except KeyError:
pass
@@ -153,6 +160,7 @@ def parse_nextcloud_info_section(string_table):
"NC_Num_Storages_Other",
"NC_Num_Apps_Installed",
"NC_Num_Apps_Updates_Available",
"NC_Apps_With_Updates_Available",
"NC_Active_Users_Last_5Min",
"NC_Active_Users_Last_1Hour",
"NC_Active_Users_Last_1Day"
@@ -191,6 +199,8 @@ def parse_nextcloud_info_section(string_table):
parsed_data["apps"]["installed"] = int(value)
elif param == "NC_Num_Apps_Updates_Available":
parsed_data["apps"]["with_updates_available"] = int(value)
elif param == "NC_Apps_With_Updates_Available":
parsed_data["apps"]["app_versions"] = value
elif param == "NC_Num_Users":
parsed_data["users"]["number"] = int(value)
elif param == "NC_Active_Users_Last_5Min":