summaryrefslogtreecommitdiffstats
path: root/bin/hostinfo
diff options
context:
space:
mode:
Diffstat (limited to 'bin/hostinfo')
-rwxr-xr-xbin/hostinfo11
1 files changed, 8 insertions, 3 deletions
diff --git a/bin/hostinfo b/bin/hostinfo
index d24fdaf..e10bf5f 100755
--- a/bin/hostinfo
+++ b/bin/hostinfo
@@ -26,20 +26,25 @@ def print_info(path, key=None, flags=list()):
def print_keys(path):
def _print_keys(data, prefix = ''):
+ if isinstance(data, str):
+ return
+
for key in data.keys():
print "%s%s" % (prefix, key)
if key == 'addresses':
for k in set([a['interface'] for a in data[key]]):
print "%s%s.%s" % (prefix, key, k)
- if key == 'ports':
+ elif key == 'ports':
for k in set([p['process'] for p in data[key] if 'process' in p]):
print "%s%s.%s" % (prefix, key, k)
if len([p for p in data[key] if 'process' not in p]) > 0:
print "%s%s.%s" % (prefix, key, 'UNKNOWN')
-
- if isinstance(data[key], dict):
+ elif isinstance(data[key], dict):
_print_keys(data[key], "%s%s." % (prefix, key))
+ elif isinstance(data[key], list):
+ for v in data[key]:
+ _print_keys(v, "%s%s." % (prefix, key))
data = _get_data(path)
_print_keys(data)