in idb/grpc/xctest_log_parser.py [0:0]
def _try_parse_event(log_line: str) -> Optional[Event]:
event = None
parsed_json = None
if len(log_line) < 10_000: # For performance reasons, don't parse long lines
try:
parsed_json = json.loads(log_line)
except json.decoder.JSONDecodeError:
pass
keys = ["event", "className", "methodName"]
if (
isinstance(parsed_json, dict)
and all(key in parsed_json for key in keys)
and all(isinstance(parsed_json[key], str) for key in keys)
):
event = Event(
event=parsed_json["event"],
className=parsed_json["className"],
methodName=parsed_json["methodName"],
)
return event