import demistomock as demisto # noqa: F401
from CommonServerPython import * # noqa: F401
def get_dict(d, keys):
for key in keys:
try:
d = d[key]
except (KeyError, TypeError):
return None
return d
def get_data_from_context(incident_context, objects):
result = {}
found = False
for var in objects:
data = get_dict(incident_context[0], ["Contents", "context", var])
if data is not None:
result[var] = data
found = True
if not found:
result = {"Button Results": "No button execution output found"}
return result
def convert_to_kv_table(data):
"""Converts data to key-value table"""
def dict_to_kv_string(dict_obj):
return "
".join([f"{key}: {value}" for key, value in dict_obj.items()])
items = []
for key, value in data.items():
if isinstance(value, dict):
value = dict_to_kv_string(value)
items.append((key, value))
return items
def convert_to_kv_list(data):
"""Converts a list of tuples to a list of key-value tuples"""
kv_list = []
for t in data:
if len(t) == 2:
kv_list.append((t[0], t[1]))
return kv_list
def format_data_to_table(items):
"""Formats the extracted data into a dynamic width HTML table format"""
table = "
| {key} | \n" table += f"{value} | \n" table += "