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] == '@':