]> git.ipfire.org Git - pbs.git/commitdiff
builds/jobs: Make the delete function asynchronous
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 17 Oct 2022 16:58:02 +0000 (16:58 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 17 Oct 2022 16:58:02 +0000 (16:58 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builds.py
src/buildservice/jobs.py
src/web/builds.py
tests/build.py

index c2acff4d712ebe671055b6aaac610cdd04fba822..d59ffd9fb912938652a601f0d79085d870632cc1 100644 (file)
@@ -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")
index ad03cc92532048548a7de8087f613369bab65c62..be3d190d393bd4be20d6d50a331c653c1eea562d 100644 (file)
@@ -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
                """
index 11cc9ce4650d986262eb197647fa3cd2a460a4a9..6582164bd35d2128e6023b3061a53dbc02771441 100644 (file)
@@ -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")
 
index fda67b321a33af43d1eabd3a922bdd0554ab7c22..f8343b4e0b7cc07a868ac28d5813d1a825a4771c 100755 (executable)
@@ -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)