def log_tree_append(): data = request.get_json(silent=True) try: node = append(data) except: return {"status": "Could not append"}, 400 return {"status": "ok", "node": node.to_json()}, 200
def rebuilder_revoke(): data = request.get_json(silent=True) if not data.get("hash"): return {"status": "Missing hash field"}, 400 if not data.get("reason"): return {"status": "Missing reason field"}, 400 revoked_node = (db.session.query(Node).filter( Node.hash == data["hash"])).first() if revoked_node.type != "data": return {"status": "Can't revoke level node"}, 400 if revoked_node.data["type"] != "inclusion": return {"status": "Needs to be a inclusion node"}, 400 j = { "type": "revoke", "package": revoked_node.data["package"], "version": revoked_node.data["version"], "hash": data["hash"], "reason": data["reason"] } try: node = append(j) except: return {"status": "Could not append"}, 400 return {"status": "ok", "node": node.to_json()}, 200
def new_build(): metadata = request.files['metadata'] buildinfo = request.files['buildinfo'] source = None version = None for paragraph in Deb822.iter_paragraphs(buildinfo): for item in paragraph.items(): if item[0] == 'Source': source = item[1] if item[0] == 'Version': version = item[1] buildinfo.seek(0) id = uuid.uuid4() pkg = db.get_or_create(Package, name=source) ver = db.get_or_create(Version, version=version, package=pkg) db.get_or_create(LinkMetadata, version=ver, text=metadata.read(), uuid=id) db.get_or_create(Buildinfo, version=ver, text=buildinfo.read(), uuid=id) db.session.commit() j = { "type": "inclusion", "package": source, "version": source, "linkmetadata": metadata.read(), "buildinfo": buildinfo.read() } try: node = append(j) except: return {"status": "Could not append"}, 400 return {"status": "ok", "node": node.to_json()}, 200 return
def log_new(): for i in range(1, 11): data = {"name": f"Name-{i}", "data": f"Datablock-{i}"} node = append(data) print(f"Created node {i}") return "Ok?"