From eb6b1fe07fd0b86c6da23b5b556f6fba208e5d4e Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Sun, 25 Jul 2021 08:23:14 +0200
Subject: [PATCH] update project

---
 CHANGELOG                          |   4 +++-
 agent_based/inv_checkpoint_base.py |  28 ++++++++++++++++------------
 inv_checkpoint_base.mkp            | Bin 2374 -> 2422 bytes
 packages/inv_checkpoint_base       |   2 +-
 4 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 1f85b9a..03c30da 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -9,4 +9,6 @@
 2021-02-08: renamed to inv_checkpoint_base
             transfered license/support info to seperate plugin
 2021-02-22: code cleanup
-2021-03-05: added hostlabel section
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/agent_based/inv_checkpoint_base.py b/agent_based/inv_checkpoint_base.py
index ceda8da..54e1713 100644
--- a/agent_based/inv_checkpoint_base.py
+++ b/agent_based/inv_checkpoint_base.py
@@ -5,16 +5,17 @@
 #
 # Check Point base inventory
 #
-# 2016-06-29 : inventory Check Point Appliance
-# 2018-03-05 : added Patches, Deployment Agent Build
-# 2018-03-07 : added Licenses
-# 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-22 : code cleanup
-# 2021-03-05 : added hostlabel section
-# 2021-03-18 : fixed missing update agent snmp section.
+# 2016-06-29: inventory Check Point Appliance
+# 2018-03-05: added Patches, Deployment Agent Build
+# 2018-03-07: added Licenses
+# 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-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
 # [
@@ -27,7 +28,7 @@
 # ]
 #
 
-from typing import List, NamedTuple
+from typing import List, NamedTuple, Optional
 
 from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
     HostLabelGenerator,
@@ -46,7 +47,7 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import (
 )
 
 
-def parse_inv_checkpoint_base(string_table: List[StringTable]) -> List:
+def parse_inv_checkpoint_base(string_table: List[StringTable]) -> Optional[List]:
     class CheckpointInvBaseInfo(NamedTuple):
         serialnumber: str
         productname: str
@@ -58,6 +59,9 @@ def parse_inv_checkpoint_base(string_table: List[StringTable]) -> List:
         osmajorver: str
         osminorver: str
 
+    if string_table == [[], []]:
+        return
+
     section = []
     baseinfo = CheckpointInvBaseInfo(*string_table[0][0])
 
diff --git a/inv_checkpoint_base.mkp b/inv_checkpoint_base.mkp
index e31aaddcfce0c4bf175ef0d8df63837a49777426..eb705dee966850df8746794934c10a29ea862d9e 100644
GIT binary patch
delta 2403
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
VEt4Jz1`P1b_!nD#%QXOa002Mm%-{e3

delta 2355
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
Z6q7#*E0azM2n={({0B0kE!O~e002P-r>y`0

diff --git a/packages/inv_checkpoint_base b/packages/inv_checkpoint_base
index 947af7b..d9f117d 100644
--- a/packages/inv_checkpoint_base
+++ b/packages/inv_checkpoint_base
@@ -11,7 +11,7 @@
  'name': 'inv_checkpoint_base',
  'num_files': 2,
  'title': 'Check Point appliance base inventory plugin',
- 'version': '20210318.v.0.1a',
+ 'version': '202100724.v.0.1a',
  'version.min_required': '2.0.0b8',
  'version.packaged': '2021.07.14',
  'version.usable_until': None}
\ No newline at end of file
-- 
GitLab