def table_results()

in Solutions/DomainTools/Playbooks/CustomConnector/DomainTools_FunctionAppConnector/EnrichDomain/__init__.py [0:0]


def table_results(custom_tuple, api_resp_json, asim=False):
    try:
        table_data = {}
        for i in custom_tuple:
            title, key, query, key_type = i
            if key_type not in [list, dict]:
                if "." in key:
                    keys = key.split(".")
                    data = api_resp_json[keys[0]]
                    if key_type is int:
                        table_data[title] = (
                            data.get(keys[1]) if data.get(keys[1]) else ""
                        )
                else:
                    table_data[title] = api_resp_json.get(key)
            else:
                if "." in key:
                    keys = key.split(".")
                    data = api_resp_json[keys[0]]
                    if isinstance(data, list):
                        if key_type is dict:
                            l1 = []
                            for x in data:
                                l1.append(x.get(keys[1]))
                            l2 = []
                            for z in l1:
                                l2.append(str(z.get("value")))
                            table_data[title] = ", ".join(l2)
                        else:
                            l1 = []
                            for x in data:
                                for y in x.get(keys[1]):
                                    l1.append(y)
                            l2 = []
                            for z in l1:
                                l2.append(str(z.get("value")))
                            table_data[title] = ", ".join(l2)
                    elif isinstance(data, dict):
                        if key_type is dict:
                            k1 = data.get(keys[1])
                            table_data[title] = k1.get("value") if k1 else ""
                        else:
                            l1 = []
                            k1 = data.get(keys[1])
                            if k1:
                                for x in k1:
                                    l1.append(x)
                                l2 = []
                                for z in l1:
                                    l2.append(str(z.get("value")))
                                table_data[title] = ", ".join(l2)
                            else:
                                table_data[title] = ""

                else:
                    if key == "tags":
                        data = api_resp_json.get(key)
                        labels = [z.get("label") for z in data]
                        table_data[title] = ", ".join(labels)
                    else:
                        data = api_resp_json.get(key)
                        if data:
                            if key_type is list:
                                l1 = []
                                for x in data:
                                    l1.append(x)
                                l2 = []
                                for z in l1:
                                    l2.append(str(z.get("value")))
                                table_data[title] = ", ".join(l2)
                            else:
                                table_data[title] = data.get("value")
                        else:
                            table_data[title] = ""
        if asim:
            return table_data
        else:
            table_formatted_data = []
            if table_data:
                table_formatted_data = [
                    {"key": k, "value": v} for k, v in table_data.items()
                ]
            return table_formatted_data
    except Exception as ex:
        logging.error(str(ex))