in lib/litani_report.py [0:0]
def get_run(cache_dir):
with open(cache_dir / litani.CACHE_FILE) as handle:
ret = json.load(handle)
ret["pipelines"] = {}
for job in ret["jobs"]:
status_file = litani.get_status_dir() / ("%s.json" % job["job_id"])
try:
with open(str(status_file)) as handle:
status = json.load(handle)
except FileNotFoundError:
status = {
"complete": False,
"wrapper_arguments": job,
}
pipeline_name = status["wrapper_arguments"]["pipeline_name"]
ci_stage = status["wrapper_arguments"]["ci_stage"]
try:
ret["pipelines"][pipeline_name]["ci_stages"][ci_stage]["jobs"].append(status)
except KeyError:
try:
ret["pipelines"][pipeline_name]["ci_stages"][ci_stage]["jobs"] = [status]
except KeyError:
try:
ret["pipelines"][pipeline_name]["ci_stages"][ci_stage] = {
"jobs": [status]
}
except KeyError:
try:
ret["pipelines"][pipeline_name]["ci_stages"] = {
ci_stage: {
"name": ci_stage,
"jobs": [status],
}
}
except KeyError:
ret["pipelines"][pipeline_name] = {
"name": pipeline_name,
"ci_stages": {
ci_stage: {
"jobs": [status]
}
},
}
ret.pop("jobs")
return ret