Sep-11-2021, 02:42 PM
works basically, tried to extend it and for some reason values are getting lost in the append loop...
test script:
test script:
#!/usr/bin/env python3 test_data = {"identity": {"HOSTNAME": "kittykat", "AIX_REG_CLIENT_VER": "0.1-alpha", "SYSTEM_NAME": "KITTYKAT_HA"}, "timestamp": {"DATETIME": "2021-09-11T15: 43:46"}, "nodeinfo": {"HAS_COBOL": "0", "HAS_TUXEDO": "0", "HAS_SAP": "0", "HAS_ORACLE": "0", "IS_LPM": "0", "HAS_BLEH": "1", "IS_ZPI": "0", "IS_ZPV": "0", " HAS_UC4": "0", "MEM_VALUE": "61440", "CPU_VALUE": "4", "STORAGE_VALUE": "258", "MAN_SYS_NAME": "FRODO02", "LOCATION": "MOUNT_DOOM", "OS_LEVEL": "7200-04-03-2 038", "UPTIME": "56", "MACHINE_SERIAL": "The Number of the Beast", "CPU_ENTC": "0.60", "YUM_REPO": "IBM", "Java6": "6.0.0.655", "Java6_64": "6.0.0.655", "Jav a7": "7.0.0.665", "Java7_64": "7.0.0.665", "Java8_64": "8.0.0.610", "IS_CLUSTER": "1", "CLUSTER_NAME": "DRUNK_DONKEY", "CLUSTER_NODES": "kittykat,shittykat", "CLUSTER_NODENAME": "kittykat", "CLUSTER_RGS": "BLEH33,BLEH34,BLEH37,BLEH38", "HA_LEVEL": "7.2.4 SP2", "cl_rgs": [[["DRUNK DONKEY", "BLEH34"]], [["DRUNK DON KEY", "BLEH38"]]], "ip": [[["IP", "XXX.XX.10.147"], ["IP", "XXX.XX.88.57"], ["IP", "XXX.XX.12.147"]]], "ip_long": [[["IP_LONG", "XXX.XX.10.147/XXX.XXX.248.0/ XXX.XX.15.XXX/"], ["IP_LONG", "XXX.XX.88.57/XXX.XXX.192.0/XXX.XX.127.XXX/kittykat-ipl.bladomain.at"], ["IP_LONG", "XXX.XX.12.147/XXX.XXX.254.0/XXX.XX.13.XXX/ "]]]}, "clusterinfo": {"cl_nodes": [[["BLEH4", "kittykat"]]], "rg_current_node": [[["BLEH34", "kittykat"]], [["BLEH38", "kittykat"]]], "rg_service_label": [[ ["BLEH34", "bleh34_srv"]], [["BLEH38", "bleh38_srv"]]], "rg_service_ip": [[["BLEH34", "XXX.XX.80.42"]], [["BLEH38", "XXX.XX.80.46"]]], "rg_service_dns": [[[" BLEH34", "bleh-34.bladomain.at"]], [["BLEH38", "bleh-38.bladomain.at"]]], "rg_service_ip_long": [[["BLEH34", "XXX.XX.80.42/bleh34_srv/bleh-34.bladomain.at"]] , [["BLEH38", "XXX.XX.80.46/bleh38_srv/bleh-38.bladomain.at"]]]}} entries = [] cluster_entries = [] for key, value in test_data["nodeinfo"].items(): #print(type(value)) if isinstance(value, list): for list_value in value[0]: entries.append(list_value) else: entries.append([key, value]) if test_data['nodeinfo']['IS_CLUSTER'] == '1': for key, value in test_data["clusterinfo"].items(): #print(type(value)) if isinstance(value, list): for list_value in value[0]: print(value[0]) cluster_entries.append(list_value) else: cluster_entries.append([key, value]) final = [] final.extend(entries) final.extend(cluster_entries) #print(final) for i in final: print(*i) #print(entries)output:
[['BLEH4', 'kittykat']] [['BLEH34', 'kittykat']] [['BLEH34', 'bleh34_srv']] [['BLEH34', 'XXX.XX.80.42']] [['BLEH34', 'bleh-34.bladomain.at']] [['BLEH34', 'XXX.XX.80.42/bleh34_srv/bleh-34.bladomain.at']] HAS_COBOL 0 HAS_TUXEDO 0 HAS_SAP 0 HAS_ORACLE 0 IS_LPM 0 HAS_BLEH 1 IS_ZPI 0 IS_ZPV 0 HAS_UC4 0 MEM_VALUE 61440 CPU_VALUE 4 STORAGE_VALUE 258 MAN_SYS_NAME FRODO02 LOCATION MOUNT_DOOM OS_LEVEL 7200-04-03-2038 UPTIME 56 MACHINE_SERIAL The Number of the Beast CPU_ENTC 0.60 YUM_REPO IBM Java6 6.0.0.655 Java6_64 6.0.0.655 Java7 7.0.0.665 Java7_64 7.0.0.665 Java8_64 8.0.0.610 IS_CLUSTER 1 CLUSTER_NAME DRUNK_DONKEY CLUSTER_NODES kittykat,shittykat CLUSTER_NODENAME kittykat CLUSTER_RGS BLEH33,BLEH34,BLEH37,BLEH38 HA_LEVEL 7.2.4 SP2 DRUNK DONKEY BLEH34 IP XXX.XX.10.147 IP XXX.XX.88.57 IP XXX.XX.12.147 IP_LONG XXX.XX.10.147/XXX.XXX.248.0/XXX.XX.15.XXX/ IP_LONG XXX.XX.88.57/XXX.XXX.192.0/XXX.XX.127.XXX/kittykat-ipl.bladomain.at IP_LONG XXX.XX.12.147/XXX.XXX.254.0/XXX.XX.13.XXX/ BLEH4 kittykat BLEH34 kittykat BLEH34 bleh34_srv BLEH34 XXX.XX.80.42 BLEH34 bleh-34.bladomain.at BLEH34 XXX.XX.80.42/bleh34_srv/bleh-34.bladomain.atall BLEH38 instances are missing in the output, like the loop is not working correctly or something...why is this?