MCPcopy Create free account
hub / github.com/astral-sh/python-build-standalone / upload_asset

Function upload_asset

src/github_api_tester.py:220–243  ·  view source on GitHub ↗
(release)

Source from the content-addressed store, hash-verified

218
219@app.put("/upload/<int:release>/assets")
220async def upload_asset(release):
221 filename = request.args["name"]
222 release = get_release(release=release)
223
224 if (fault := release.fault0) is not None:
225 logging.info(f"{filename}: injecting fault0")
226 release.fault0 = None
227 return await fault()
228
229 logging.info(f"{filename}: upload begin")
230 upload = Upload(filename, request.args.get("label"))
231 async for chunk in request.body:
232 logging.debug(f"{filename}: {len(chunk)=}")
233 upload.update(chunk)
234 if (fault := release.fault1) is not None:
235 if "SHA256" not in filename:
236 logging.info(f"{filename}: injecting fault1")
237 release.fault1 = None
238 return await fault()
239
240 asset = upload.to_asset()
241 logging.info(f"{filename}: upload complete, {asset.sha256=}")
242 release.assets.append(asset)
243 return asset.render()
244
245
246@app.route("/get_asset/<int:id>")

Callers

nothing calls this directly

Calls 5

updateMethod · 0.95
to_assetMethod · 0.95
get_releaseFunction · 0.85
UploadClass · 0.85
renderMethod · 0.45

Tested by

no test coverage detected