Module: check_mk
Branch: master
Commit: 300c23a1cb9759e9199caf99c3cecd76a16cad52
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=300c23a1cb9759…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Mon Jul 21 15:09:54 2014 +0200
Added yield support for inventory functions
---
checks/omd_status | 4 +++-
modules/check_mk.py | 5 ++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/checks/omd_status b/checks/omd_status
index ce68071..0eb5680 100644
--- a/checks/omd_status
+++ b/checks/omd_status
@@ -41,7 +41,9 @@
# OVERALL 2
def inventory_omd_status(info):
- return [ ( line[0][1:-1], None ) for line in info if line[0][0] == '[' ]
+ for line in info:
+ if line[0][0] == '[':
+ yield line[0][1:-1], None
def check_omd_status(item, _no_params, info):
active = False
diff --git a/modules/check_mk.py b/modules/check_mk.py
index acca7d3..c657767 100755
--- a/modules/check_mk.py
+++ b/modules/check_mk.py
@@ -2966,9 +2966,12 @@ def make_inventory(checkname, hostnamelist, check_only=False,
include_state=Fals
else:
# New preferred style since 1.1.11i3: only one argument: info
inventory = inventory_function(info)
-
if inventory == None: # tolerate if function does no explicit return
inventory = []
+
+ # New yield based api style
+ if type(inventory) != list:
+ inventory = list(inventory)
except Exception, e:
if opt_debug:
sys.stderr.write("Exception in inventory function of check type
%s\n" % checkname)