in tools/stix-to-ecs/stix_to_ecs.py [0:0]
def __init__(self, pattern: str) -> None:
"""
Intialize the parser then parse and convert the given STIX pattern into ECS data.
:param pattern: The STIX pattern to parse and convert.
"""
self.__loot = list()
self.__type = ""
self.__field_name = ""
self.__data: dict = dict()
self.__visit(pattern_visitor.create_pattern_object(pattern))
if not self.__loot:
raise RuntimeError("No loot, parsing failed")
self.__set_type()
if not self.__type:
raise RuntimeError("No type, parsing failed")
self.__set_field_name()
if not self.__field_name:
raise RuntimeError("No field name, parsing failed")
self.__set_data()
if not self.__data:
raise RuntimeError("No data, parsing failed")