in msticpy/datamodel/entities/alert.py [0:0]
def _generate_base_ents(ents: list) -> list: # noqa: MC0001
"""Generate a list of all enties form a set of nested entities."""
base_ents = []
for ent in ents:
base_ents.append(ent)
for _, item in ent.items():
if isinstance(item, list):
for prop in item:
if isinstance(prop, dict) and "$id" in prop.keys():
base_ents.append(prop)
for val in prop:
if isinstance(prop[val], list):
for p in prop[val]:
if isinstance(p, dict) and "$id" in p.keys():
base_ents.append(p)
elif (
isinstance(prop[val], dict)
and "$id" in prop[val].keys()
):
base_ents.append(val)
elif isinstance(item, dict) and "$id" in item.keys():
base_ents.append(item)
return base_ents