summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-05-29 19:08:10 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-05-29 19:08:10 +0200
commit7a45ecb1f8ecd00e025317f75be69645945aa0c4 (patch)
tree4a2fb1fc20abcb44b827e7a8752df0c08b617a84
parentb5a43bd59f225e56ac6edebc86c24afc4b117746 (diff)
downloadtools-7a45ecb1f8ecd00e025317f75be69645945aa0c4.tar.gz
tools-7a45ecb1f8ecd00e025317f75be69645945aa0c4.tar.bz2
tools-7a45ecb1f8ecd00e025317f75be69645945aa0c4.zip
hostinfo: print keys of list elements0.1.10
-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)