From: Michael Tremer Date: Mon, 17 Oct 2022 16:58:02 +0000 (+0000) Subject: builds/jobs: Make the delete function asynchronous X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64ae84e105daa292835538f44cf75c24b47c4877;p=pbs.git builds/jobs: Make the delete function asynchronous Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/builds.py b/src/buildservice/builds.py index c2acff4d..d59ffd9f 100644 --- a/src/buildservice/builds.py +++ b/src/buildservice/builds.py @@ -278,7 +278,7 @@ class Build(base.DataObject): # You can't touch this return False - def delete(self, user=None): + async def delete(self, user=None): """ Deletes this build including all jobs, packages and the source package. @@ -289,7 +289,7 @@ class Build(base.DataObject): # Delete all jobs for job in self.jobs + self.test_jobs: - job.delete() + await job.delete() # Mark as deleted self._set_attribute_now("deleted_at") diff --git a/src/buildservice/jobs.py b/src/buildservice/jobs.py index ad03cc92..be3d190d 100644 --- a/src/buildservice/jobs.py +++ b/src/buildservice/jobs.py @@ -299,7 +299,7 @@ class Job(base.DataObject): def message(self): return self.data.message - def delete(self, user=None): + async def delete(self, user=None): """ Deletes a job """ diff --git a/src/web/builds.py b/src/web/builds.py index 11cc9ce4..6582164b 100644 --- a/src/web/builds.py +++ b/src/web/builds.py @@ -50,7 +50,7 @@ class DeleteHandler(base.BaseHandler): self.render("builds/delete.html", build=build) @tornado.web.authenticated - def post(self, uuid): + async def post(self, uuid): build = self.backend.builds.get_by_uuid(uuid) if not build: raise tornado.web.HTTPError(404, "Could not find build %s" % uuid) @@ -62,7 +62,7 @@ class DeleteHandler(base.BaseHandler): # Perform Deletion with self.db.transaction(): - build.delete(self.current_user) + await build.delete(self.current_user) self.redirect("/builds") diff --git a/tests/build.py b/tests/build.py index fda67b32..f8343b4e 100755 --- a/tests/build.py +++ b/tests/build.py @@ -60,7 +60,7 @@ class BuildTestCase(test.TestCase): # Delete the build with self.db.transaction(): - build.delete(self.user) + await build.delete(self.user) # There should now be no more builds self.assertEqual(len(self.backend.builds), 0)