From ad1c1b7098fcfa0907b6a6722a95dcc23d23ef07 Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Sun, 23 Apr 2023 11:18:10 +0200
Subject: [PATCH] update project

---
 CHANGELOG                          |   1 +
 agent_based/inv_checkpoint_base.py | 100 ++++++++++++++++-------------
 gui/views/inv_checkpoint_base.py   |  26 ++++++++
 inv_checkpoint_base.mkp            | Bin 2480 -> 2651 bytes
 packages/inv_checkpoint_base       |  11 ++--
 5 files changed, 88 insertions(+), 50 deletions(-)
 create mode 100644 gui/views/inv_checkpoint_base.py

diff --git a/CHANGELOG b/CHANGELOG
index 7a57d2d..da63ee0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -13,3 +13,4 @@
 2021-03-18: fixed missing update agent snmp section.
 2021-07-24: fixed parse function for empty string_table
 2021-08-10: added display hints
+2023-04-23: refactoring, moved views file to ~/local/lib/check_mk/gui/plugins/views
diff --git a/agent_based/inv_checkpoint_base.py b/agent_based/inv_checkpoint_base.py
index 54e1713..809623f 100644
--- a/agent_based/inv_checkpoint_base.py
+++ b/agent_based/inv_checkpoint_base.py
@@ -1,7 +1,11 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
-#
-# Author: thl-cmk[at]outlook[dot]com / thl-cmk.hopto.org
+
+# License: GNU General Public License v2
+
+# Author: thl-cmk[at]outlook[dot]com
+# URL   : https://thl-cmk.hopto.org
+# Date  : 2016-06-29
 #
 # Check Point base inventory
 #
@@ -11,25 +15,15 @@
 # 2020-06-01: cleanup, prepared for cmk1.7x, rename from inv_checkpoint_svn to checkpoint_inv_base
 # 2020-11-27: rewrite for CMK check API 1.0 (CMK 2.0)
 # 2020-11-28: added available updates
-# 2021-02-08: transfered license/support info to seperate plugin
+# 2021-02-08: transferred license/support info to separate plugin
 # 2021-02-22: code cleanup
 # 2021-03-05: added hostlabel section
 # 2021-03-18: fixed missing update agent snmp section.
 # 2021-07-24: fixed parse function for empty string_table
-#
-# sample string_table
-# [
-#  [
-#   ['5M7C043', 'Smart-1 5150', 'CheckPoint', 'Smart-1', 'R80.40', '994000022', 'Gaia', '3', '10']
-#  ], 
-#  [
-#   ['1959']
-#  ], 
-# ]
+# 2023-04-23: refactoring
 #
 
 from typing import List, NamedTuple, Optional
-
 from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
     HostLabelGenerator,
     StringTable,
@@ -47,51 +41,69 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import (
 )
 
 
+class CheckpointInvBaseInfo(NamedTuple):
+    serial_number: str
+    product_name: str
+    manufacturer: str
+    series: str
+    version: str
+    build: str
+    osname: str
+    os_major_ver: str
+    os_minor_ver: str
+
+
 def parse_inv_checkpoint_base(string_table: List[StringTable]) -> Optional[List]:
-    class CheckpointInvBaseInfo(NamedTuple):
-        serialnumber: str
-        productname: str
-        manufacturer: str
-        series: str
-        version: str
-        build: str
-        osname: str
-        osmajorver: str
-        osminorver: str
-
-    if string_table == [[], []]:
+    """
+    >>> from pprint import pp
+    >>> string_table = [[['5M7C043','Smart-1 5150','CheckPoint','Smart-1','R80.40','994000022','Gaia','3','10']]]
+    >>> string_table.append([['1959']])
+    >>> print(string_table)
+    [[['5M7C043', 'Smart-1 5150', 'CheckPoint', 'Smart-1', 'R80.40', '994000022', 'Gaia', '3', '10']], [['1959']]]
+    >>> pp(parse_inv_checkpoint_base(string_table))
+    [(['hardware', 'system'], 'serial', '5M7C043'),
+     (['hardware', 'system'], 'appliance_series', 'Smart-1'),
+     (['hardware', 'system'], 'manufacturer', 'CheckPoint'),
+     (['hardware', 'system'], 'product_name', 'Smart-1 5150'),
+     (['software', 'check_point', 'os_info'], 'svn_version', 'R80.40'),
+     (['software', 'check_point', 'os_info'], 'svn_build', '994000022'),
+     (['software', 'check_point', 'os_info'], 'os_name', 'Gaia'),
+     (['software', 'check_point', 'os_info'], 'deployment_agent_build', '1959'),
+     (['software', 'check_point', 'os_info'], 'os_version', '3.10')]
+    """
+    try:
+        base_info = CheckpointInvBaseInfo(*string_table[0][0])
+    except IndexError:
         return
 
-    section = []
-    baseinfo = CheckpointInvBaseInfo(*string_table[0][0])
-
     try:
-        updateagentversion = string_table[1][0][0]
+        update_agent_version = string_table[1][0][0]
     except IndexError:
-        updateagentversion = ''
+        update_agent_version = ''
 
-    invPath = ['hardware', 'system']
+    section = []
+    path = ['hardware', 'system']
 
     for key, value in [
-        ('serial', baseinfo.serialnumber),
-        ('appliance_series', baseinfo.series),
-        ('manufacturer', baseinfo.manufacturer),
-        ('product_name', baseinfo.productname),
+        ('serial', base_info.serial_number),
+        ('appliance_series', base_info.series),
+        ('manufacturer', base_info.manufacturer),
+        ('product_name', base_info.product_name),
     ]:
         if not value == '':
-            section.append((invPath, key, value))
+            section.append((path, key, value))
 
-    invPath = ['software', 'check_point', 'os_info']
+    path = ['software', 'check_point', 'os_info']
 
     for key, value in [
-        ('svn_version', baseinfo.version),
-        ('svn_build', baseinfo.build),
-        ('os_name', baseinfo.osname),
-        ('deployment_agent_build', updateagentversion),
-        ('os_version', baseinfo.osmajorver + '.' + baseinfo.osminorver),
+        ('svn_version', base_info.version),
+        ('svn_build', base_info.build),
+        ('os_name', base_info.osname),
+        ('deployment_agent_build', update_agent_version),
+        ('os_version', base_info.os_major_ver + '.' + base_info.os_minor_ver),
     ]:
         if not value == '':
-            section.append((invPath, key, value))
+            section.append((path, key, value))
 
     return section
 
diff --git a/gui/views/inv_checkpoint_base.py b/gui/views/inv_checkpoint_base.py
new file mode 100644
index 0000000..a6317c5
--- /dev/null
+++ b/gui/views/inv_checkpoint_base.py
@@ -0,0 +1,26 @@
+#!/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  : 2016-06-29
+
+# 2023-04-23: moved views file to ~/local/lib/check_mk/gui/plugins/views
+
+from cmk.gui.i18n import _
+from cmk.gui.plugins.views.utils import (
+    inventory_displayhints,
+)
+
+inventory_displayhints.update({
+    '.software.check_point.os_info:': {
+        'title': _('OS Info'),
+    },
+    '.software.check_point.os_info.deployment_agent_build': {'title': _('Deployment Agent Build'), },
+    '.software.check_point.os_info.os_name': {'title': _('OS Name'), },
+    '.software.check_point.os_info.os_version': {'title': _('OS Version'), },
+    '.software.check_point.os_info.svn_build': {'title': _('SVN Build'), },
+    '.software.check_point.os_info.svn_version': {'title': _('SVN Version'), },
+})
diff --git a/inv_checkpoint_base.mkp b/inv_checkpoint_base.mkp
index 6fcf74af6671d74f5ae77c9767d9621a516517a0..8a80466998d9771df5a1a99f5acc136ac7eead80 100644
GIT binary patch
literal 2651
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

literal 2480
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
ZM_lKbX#bx!rBkBl$I+>*G@&#!{{ewh-Q@rP

diff --git a/packages/inv_checkpoint_base b/packages/inv_checkpoint_base
index d6a6e36..0e46e76 100644
--- a/packages/inv_checkpoint_base
+++ b/packages/inv_checkpoint_base
@@ -1,17 +1,16 @@
 {'author': 'Th.L. (thl-cmk[at]outlook[dot]com)',
  'description': 'SNMP inventory of Check Point Appliances for:\n'
-                'Serial Number, Product Name, Manufacturer, OS/SVN/Deployment '
+                'Serial number, Product name, Manufacturer, OS/SVN/Deployment '
                 'agent version\n'
                 '\n'
                 '- 2021-02-08: initial release\n'
                 '- 2021-02-22: code cleanup\n',
  'download_url': 'https://thl-cmk.hopto.org',
  'files': {'agent_based': ['inv_checkpoint_base.py'],
-           'web': ['plugins/views/inv_checkpoint_base.py']},
+           'gui': ['views/inv_checkpoint_base.py']},
  'name': 'inv_checkpoint_base',
- 'num_files': 2,
  'title': 'Check Point appliance base inventory plugin',
- 'version': '20210724.v.0.1a',
- 'version.min_required': '2.0.0',
- 'version.packaged': '2021.09.20',
+ 'version': '0.2.1-20230423',
+ 'version.min_required': '2.1.0b1',
+ 'version.packaged': '2.1.0p21',
  'version.usable_until': None}
\ No newline at end of file
-- 
GitLab