summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/orm/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/orm/models.py')
-rw-r--r--bitbake/lib/toaster/orm/models.py44
1 files changed, 32 insertions, 12 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index caacc2a544..2df6d4910a 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -592,22 +592,42 @@ class Build(models.Model):
592 592
593 return target_labels 593 return target_labels
594 594
595 def get_current_status(self): 595 def get_buildrequest(self):
596 """ 596 buildrequest = None
597 get the status string from the build request if the build 597 if hasattr(self, 'buildrequest'):
598 has one, or the text for the build outcome if it doesn't 598 buildrequest = self.buildrequest
599 """ 599 return buildrequest
600 600
601 def is_queued(self):
601 from bldcontrol.models import BuildRequest 602 from bldcontrol.models import BuildRequest
603 buildrequest = self.get_buildrequest()
604 if buildrequest:
605 return buildrequest.state == BuildRequest.REQ_QUEUED
606 else:
607 return False
602 608
603 build_request = None 609 def is_cancelling(self):
604 if hasattr(self, 'buildrequest'): 610 from bldcontrol.models import BuildRequest
605 build_request = self.buildrequest 611 buildrequest = self.get_buildrequest()
612 if buildrequest:
613 return self.outcome == Build.IN_PROGRESS and \
614 buildrequest.state == BuildRequest.REQ_CANCELLING
615 else:
616 return False
606 617
607 if (build_request 618 def get_state(self):
608 and build_request.state != BuildRequest.REQ_INPROGRESS 619 """
609 and self.outcome == Build.IN_PROGRESS): 620 Get the state of the build; one of 'Succeeded', 'Failed', 'In Progress',
610 return self.buildrequest.get_state_display() 621 'Cancelled' (Build outcomes); or 'Queued', 'Cancelling' (states
622 dependent on the BuildRequest state).
623
624 This works around the fact that we have BuildRequest states as well
625 as Build states, but really we just want to know the state of the build.
626 """
627 if self.is_cancelling():
628 return 'Cancelling';
629 elif self.is_queued():
630 return 'Queued'
611 else: 631 else:
612 return self.get_outcome_text() 632 return self.get_outcome_text()
613 633