def _parse_new_results(previous_results: List[Tuple[list, dict]]) -> tuple:
"""
Parse previous results, split into raw data, results and errors and merge
data from multiple test suites.
"""
raw = []
result = {}
errors = []
for e in previous_results:
if isinstance(e, (list, tuple)):
scan_host = e[0]
test = e[1]
if isinstance(e[2], dict):
# add test specifier to each raw data element
for identifier, raw_elem in e[2].items():
raw.append(dict(
identifier=identifier,
scan_host=scan_host,
test=test,
**raw_elem))
if isinstance(e[3], dict):
result.update(e[3])
else:
errors.append(e)
return raw, result, errors
评论列表
文章目录