def add_data(data): """Function store list of builds in database""" data = json.loads(data) session = db.session() add_io_params(session) for build_data in data: build_id = add_build(session, build_data.pop("build_id"), build_data.pop("name"), build_data.pop("type"), build_data.pop("iso_md5"), ) creds = {"username": build_data.pop("username"), "password": build_data.pop("password"), "tenant_name": build_data.pop("tenant_name")} lab_url = build_data.pop("lab_url") lab_name = build_data.pop("lab_name") ceph_version = build_data.pop("ceph_version") data = collect_lab_data(lab_url, creds) data['name'] = lab_name info = total_lab_info(data) lab_id = add_lab(session, lab_url=lab_name, lab_name=lab_url, ceph_version=ceph_version, fuel_version=data['fuel_version'], data=data, info=info) date = build_data.pop("date") date = datetime.datetime.strptime(date, "%a %b %d %H:%M:%S %Y") for params, [bw, dev] in build_data.items(): param_comb_id = add_param_comb(session, *params.split(" ")) result = Result(param_combination_id=param_comb_id, build_id=build_id, bandwith=bw, date=date, lab_id=lab_id) session.add(result) session.commit()
def get_build_detailed_info(build_name): data = get_build_info(build_name) return total_lab_info(data)