From c2fb446088ba38ef0230d4aed04a2de64740df29 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 21 Oct 2017 18:49:52 +0100 Subject: [PATCH] jobs: Fix some direct accesses to self._data Signed-off-by: Michael Tremer --- src/buildservice/jobs.py | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/src/buildservice/jobs.py b/src/buildservice/jobs.py index aac3f41..e38edb7 100644 --- a/src/buildservice/jobs.py +++ b/src/buildservice/jobs.py @@ -381,32 +381,22 @@ class Job(base.DataObject): def set_state(self, state, user=None, log=True): # Nothing to do if the state remains. if not self.state == state: - self.db.execute("UPDATE jobs SET state = %s WHERE id = %s", state, self.id) + self._set_attribute("state", state) # Log the event. if log and not state == "new": self.log("state_change", state=state, user=user) - # Update cache. - if self._data: - self._data["state"] = state - # Always clear the message when the status is changed. self.update_message(None) # Update some more informations. if state == "dispatching": # Set start time. - self.db.execute("UPDATE jobs SET time_started = NOW(), time_finished = NULL \ - WHERE id = %s", self.id) - - elif state == "pending": - self.db.execute("UPDATE jobs SET time_started = NULL, \ - time_finished = NULL WHERE id = %s", self.id) + self._set_attribute("time_started", datetime.datetime.utcnow()) elif state in ("aborted", "dependency_error", "finished", "failed"): - # Set finish time and reset builder.. - self.db.execute("UPDATE jobs SET time_finished = NOW() WHERE id = %s", self.id) + self._set_attribute("time_finished", datetime.datetime.utcnow()) # Send messages to the user. if state == "finished": @@ -428,26 +418,15 @@ class Job(base.DataObject): def message(self): return self.data.message - def update_message(self, msg): - self.db.execute("UPDATE jobs SET message = %s WHERE id = %s", - msg, self.id) - - if self._data: - self._data["message"] = msg + def update_message(self, message): + self._set_attribute("message", message) def get_builder(self): if self.data.builder_id: return self.backend.builders.get_by_id(self.data.builder_id) def set_builder(self, builder, user=None): - self.db.execute("UPDATE jobs SET builder_id = %s WHERE id = %s", - builder.id, self.id) - - # Update cache. - if self._data: - self._data["builder_id"] = builder.id - - self._builder = builder + self._set_attribute("builder_id", builder.id) # Log the event. if user: -- 2.47.3