From 195b0c5b905852c53dc258aaa57a34e26d2b984b Mon Sep 17 00:00:00 2001 From: Sven Velt Date: Wed, 22 Sep 2021 12:05:52 +0200 Subject: [PATCH] MonitoringPlugin: add args2checks() for quad check notation copied from check_naf.py --- MyMonPlugin/monitoringplugin.py | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/MyMonPlugin/monitoringplugin.py b/MyMonPlugin/monitoringplugin.py index 88027b9..d6502c2 100644 --- a/MyMonPlugin/monitoringplugin.py +++ b/MyMonPlugin/monitoringplugin.py @@ -80,6 +80,41 @@ class MonitoringPlugin(object): self._cmdlineoptions_parsed = True + def args2checks(self): + checks = [] + try: + separator = self.options.separator + except AttributeError: + separator = ',' + + try: + subseparator = self.options.subseparator + except AttributeError: + subseparator = '+' + + for quad in self.args: + quad = quad.split(separator) + quad = (quad + ['', '', ''])[:4] # Fix length to 4, fill with '' + + # Convert list of checks to list + if subseparator in quad[0]: + quad[0] = quad[0].split(subseparator) + else: + quad[0] = [quad[0],] + + # Convert list of targets to list + if subseparator in quad[1]: + quad[1] = quad[1].split(subseparator) + else: + quad[1] = [quad[1],] + + for target in quad[1]: + for check in quad[0]: + checks.append(tuple([check, target, quad[2], quad[3]])) + + return(checks) + + def range_to_limits(self, range): # Check if we must negate result if len(range) > 0 and range[0] == '@':