]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Delete the log file on delete
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 17 Oct 2022 17:05:17 +0000 (17:05 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 17 Oct 2022 17:05:41 +0000 (17:05 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/jobs.py

index be3d190d393bd4be20d6d50a331c653c1eea562d..c61938501195d3775d44cc36774a47ce4f8c99b4 100644 (file)
@@ -312,7 +312,8 @@ class Job(base.DataObject):
                if user:
                        self._set_attribute("deleted_by", user)
 
-               # XXX DELETE THE LOGFILE
+               # Delete the logfile
+               await self._delete_logfile()
 
        def clone(self):
                """
@@ -377,6 +378,22 @@ class Job(base.DataObject):
                self._set_attribute("log_size", upload.size)
                self._set_attribute("log_digest_blake2s", digest)
 
+       async def _delete_log(self):
+               """
+                       Called to delete the log file
+               """
+               # Nothing to do if there is no log file
+               if not self.has_log():
+                       return
+
+               # Delete the file from disk
+               await self.backend.unlink(self.log_path)
+
+               # Reset all database attributes
+               self._set_attribute("log_path", None)
+               self._set_attribute("log_size", None)
+               self._set_attribute("log_digest_blake2s", None)
+
        # Builder
 
        @lazy_property