From 82d998d6c6378e4eb70b5712b339b6095ed7540a Mon Sep 17 00:00:00 2001 From: Elliot Smith Date: Tue, 12 Jul 2016 16:14:42 +0100 Subject: bitbake: toaster: show "Tasks starting..." until the first task completes To prevent showing a "0% of tasks complete" message for a long time, don't show the progress bar until the first task has finished. While waiting for that first task, show a message about tasks starting instead. [YOCTO #9631] (Bitbake rev: 5529bcd860d2932b967a064ae28690ac5a725342) Signed-off-by: Elliot Smith Signed-off-by: Richard Purdie --- bitbake/lib/toaster/orm/models.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'bitbake/lib/toaster/orm/models.py') diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 4641736add..cfa243c595 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py @@ -628,6 +628,17 @@ class Build(models.Model): return self.outcome == Build.IN_PROGRESS and \ self.recipes_parsed < self.recipes_to_parse + def is_starting(self): + """ + True if the build has no completed tasks yet and is still just starting + tasks. + + Note that the mechanism for testing whether a Task is "done" is whether + its order field is set, as per the completeper() method. + """ + return self.outcome == Build.IN_PROGRESS and \ + self.task_build.filter(order__isnull=False).count() == 0 + def get_state(self): """ Get the state of the build; one of 'Succeeded', 'Failed', 'In Progress', @@ -643,6 +654,8 @@ class Build(models.Model): return 'Queued' elif self.is_parsing(): return 'Parsing' + elif self.is_starting(): + return 'Starting' else: return self.get_outcome_text() -- cgit v1.2.3-54-g00ecf