From ce797844139f3d46b22fdec8aec1e21ee2e61554 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sat, 22 Apr 2023 19:19:18 +0200 Subject: [PATCH] update project --- CHANGELOG | 1 + agent_based/inv_epsm.py | 56 ++++++++++++++++++++++------------------ gui/views/inv_epsm.py | 34 ++++++++++++++++++++++++ inv_epsm.mkp | Bin 2381 -> 2476 bytes packages/inv_epsm | 10 +++---- 5 files changed, 70 insertions(+), 31 deletions(-) create mode 100644 gui/views/inv_epsm.py diff --git a/CHANGELOG b/CHANGELOG index 2c7296e..0272628 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1 +1,2 @@ 2021-11-27: initial release +2023-04-22: moved inventory view to ~/local/lib/check_mk/gui/plugins/views diff --git a/agent_based/inv_epsm.py b/agent_based/inv_epsm.py index 48d8022..8609df2 100644 --- a/agent_based/inv_epsm.py +++ b/agent_based/inv_epsm.py @@ -51,31 +51,7 @@ # .1.3.6.1.4.1.24734.13.2.1.1.6.1 = STRING: "v 4.0.0.5" # .1.3.6.1.4.1.24734.13.2.1.1.6.17 = STRING: "v 7.10.0.0" # -# sample string_table -# [ -# [ -# ['v 3.1.2.2'] -# ], -# [ -# ['M0', 'F_Master', '1', '1', 'PowerSwitch', 'v 3.3.0.0'], -# ['S1', 'F_Satellit', '1', '1', 'Power Switch 8-Port', 'v 4.0.0.5'], -# ['TH1', 'SEN-1', '1', '1', 'TH Sensor', 'v 7.10.0.0'] -# ] -# ] -# -# sample section -# { -# 'devices': -# [ -# {'id': 'M0', 'name': 'F_Master', 'type': 'PowerSwitch', 'version': 'v 3.3.0.0', -# 'status_columns': {'activated': '1', 'detected': '1'}}, -# {'id': 'S1', 'name': 'F_Satellit', 'type': 'Power Switch 8-Port', 'version': 'v 4.0.0.5', -# 'status_columns': {'activated': '1', 'detected': '1'}}, -# {'id': 'TH1', 'name': 'SEN-1', 'type': 'TH Sensor', 'version': 'v 7.10.0.0', -# 'status_columns': {'activated': '1', 'detected': '1'}} -# ], -# 'version': 'v 3.1.2.2' -# } + from typing import List, Dict, Any @@ -104,6 +80,36 @@ _device_detected = { def parse_inv_espm(string_table: List[StringTable]) -> Dict[str, Any]: + """ + >>> from pprint import pp + >>> modules = [] + >>> modules.append(['M0', 'F_Master', '1', '1', 'PowerSwitch', 'v 3.3.0.0']) + >>> modules.append(['S1', 'F_Satellit', '1', '1', 'Power Switch 8-Port', 'v 4.0.0.5']) + >>> modules.append(['TH1', 'SEN-1', '1', '1', 'TH Sensor', 'v 7.10.0.0']) + >>> string_table = [[['v 3.1.2.2']], modules] + >>> pp(string_table) + [[['v 3.1.2.2']], + [['M0', 'F_Master', '1', '1', 'PowerSwitch', 'v 3.3.0.0'], + ['S1', 'F_Satellit', '1', '1', 'Power Switch 8-Port', 'v 4.0.0.5'], + ['TH1', 'SEN-1', '1', '1', 'TH Sensor', 'v 7.10.0.0']]] + >>> pp(parse_inv_espm(string_table)) + {'devices': [{'id': 'M0', + 'name': 'F_Master', + 'type': 'PowerSwitch', + 'version': 'v 3.3.0.0', + 'status_columns': {'activated': 'True', 'detected': 'True'}}, + {'id': 'S1', + 'name': 'F_Satellit', + 'type': 'Power Switch 8-Port', + 'version': 'v 4.0.0.5', + 'status_columns': {'activated': 'True', 'detected': 'True'}}, + {'id': 'TH1', + 'name': 'SEN-1', + 'type': 'TH Sensor', + 'version': 'v 7.10.0.0', + 'status_columns': {'activated': 'True', 'detected': 'True'}}], + 'version': 'v 3.1.2.2'} + """ version, devices = string_table section = { diff --git a/gui/views/inv_epsm.py b/gui/views/inv_epsm.py new file mode 100644 index 0000000..8a7bc4a --- /dev/null +++ b/gui/views/inv_epsm.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# License: GNU General Public License v2 +# +# Author: thl-cmk[at]outlook[dot]com +# URL : https://thl-cmk.hopto.org +# Date : 2021-11-27 +# +# inventory view for Noel epower switch +# +# 2023-04-22: moved to ~/local/lib/check_mk/gui/plugins/views +# + +from cmk.gui.plugins.views.utils import ( + inventory_displayhints, +) +from cmk.gui.i18n import _ +from cmk.gui.plugins.views.inventory import declare_invtable_view + +inventory_displayhints.update({ + '.hardware.devices:': {'title': _('Devices'), + 'keyorder': ['id', 'name', 'type', 'version', 'detected', 'activated', ], + 'view': 'invdevices_of_host', + }, + '.hardware.devices:*.id': {'title': _('ID'), }, + '.hardware.devices:*.name': {'title': _('Name')}, + '.hardware.devices:*.type': {'title': _('Type'), }, + '.hardware.devices:*.version': {'title': _('Version')}, + '.hardware.devices:*.detected': {'title': _('Detected'), }, + '.hardware.devices:*.activated': {'title': _('Activated'), }, +}) + +declare_invtable_view('invdevices', '.hardware.devices:', _('Devices'), _('Devices')) diff --git a/inv_epsm.mkp b/inv_epsm.mkp index c2b348ebeb990ca2c4bc44e346c5934953bc581b..1a4e4fd32c6cf71a6a46f3c6aeeafead3013a8d6 100644 GIT binary patch literal 2476 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 VUhsdTm34=+nC8S>U<qPj`48_u2H*ey literal 2381 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 diff --git a/packages/inv_epsm b/packages/inv_epsm index 17d3780..409cafe 100644 --- a/packages/inv_epsm +++ b/packages/inv_epsm @@ -1,12 +1,10 @@ {'author': 'Th.L. (thl-cmk[at]outlook[dot]com)', 'description': 'Inventory Neols ePowerSwitch \n', 'download_url': 'https://thl-cmk.hopto.org', - 'files': {'agent_based': ['inv_epsm.py'], - 'web': ['plugins/views/inv_epsm.py']}, + 'files': {'agent_based': ['inv_epsm.py'], 'gui': ['views/inv_epsm.py']}, 'name': 'inv_epsm', - 'num_files': 2, 'title': 'Neol ePowerswitch inventory', - 'version': '20211127.v.0.0.1', - 'version.min_required': '2.0.0', - 'version.packaged': '2021.09.20', + 'version': '0.0.2-20230422', + 'version.min_required': '2.1.0b1', + 'version.packaged': '2.1.0p21', 'version.usable_until': None} \ No newline at end of file -- GitLab