diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-08-27 17:24:42 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-29 13:56:50 +0100 |
commit | fe2e53ba30ba679c038bd5b48b9a91a41af4c49e (patch) | |
tree | 2a86f1fa56d21c7c712f8723485d5a1e386ecc24 /bitbake/lib/toaster/toastergui/views.py | |
parent | 69955c7b4218c51e1905c683757788af883a421b (diff) | |
download | poky-fe2e53ba30ba679c038bd5b48b9a91a41af4c49e.tar.gz |
bitbake: toaster: create Build methods for calculating progress and ETA
We move the code to calculate build progress as percent
and the ETA of the build to the model, so that they can be
reused across different pages.
(Bitbake rev: c2ced09e7ea4a1762d2788bb12a761734d20fd8e)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rwxr-xr-x | bitbake/lib/toaster/toastergui/views.py | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index e68f8b002f..86a34adf24 100755 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py | |||
@@ -224,17 +224,6 @@ def builds(request): | |||
224 | 224 | ||
225 | # build view-specific information; this is rendered specifically in the builds page, at the top of the page (i.e. Recent builds) | 225 | # build view-specific information; this is rendered specifically in the builds page, at the top of the page (i.e. Recent builds) |
226 | build_mru = Build.objects.filter(completed_on__gte=(timezone.now()-timedelta(hours=24))).order_by("-started_on")[:3] | 226 | build_mru = Build.objects.filter(completed_on__gte=(timezone.now()-timedelta(hours=24))).order_by("-started_on")[:3] |
227 | for b in [ x for x in build_mru if x.outcome == Build.IN_PROGRESS ]: | ||
228 | tf = Task.objects.filter(build = b) | ||
229 | tfc = tf.count() | ||
230 | if tfc > 0: | ||
231 | b.completeper = tf.exclude(order__isnull=True).count()*100/tf.count() | ||
232 | else: | ||
233 | b.completeper = 0 | ||
234 | |||
235 | b.eta = 0 | ||
236 | if b.completeper > 0: | ||
237 | b.eta = timezone.now() + ((timezone.now() - b.started_on)*(100-b.completeper)/b.completeper) | ||
238 | 227 | ||
239 | # set up list of fstypes for each build | 228 | # set up list of fstypes for each build |
240 | fstypes_map = {}; | 229 | fstypes_map = {}; |
@@ -1854,7 +1843,7 @@ if toastermain.settings.MANAGED: | |||
1854 | context = { | 1843 | context = { |
1855 | "project" : prj, | 1844 | "project" : prj, |
1856 | #"buildrequests" : prj.buildrequest_set.filter(state=BuildRequest.REQ_QUEUED), | 1845 | #"buildrequests" : prj.buildrequest_set.filter(state=BuildRequest.REQ_QUEUED), |
1857 | "buildrequests" : map(lambda x: (x, {"machine" : x.brvariable_set.filter(name="MACHINE")[0]}), prj.buildrequest_set.order_by("-pk")), | 1846 | "buildrequests" : map(lambda x: (x, {"machine" : x.brvariable_set.filter(name="MACHINE")[0]}), prj.buildrequest_set.filter(state__lt = BuildRequest.REQ_INPROGRESS).order_by("-pk")), |
1858 | "builds" : prj.build_set.all(), | 1847 | "builds" : prj.build_set.all(), |
1859 | "puser": puser, | 1848 | "puser": puser, |
1860 | } | 1849 | } |