summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py51
1 files changed, 31 insertions, 20 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 02caf54d50..baaa2883bc 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -472,46 +472,57 @@ def builddashboard( request, build_id ):
472 tgts = Target.objects.filter( build_id = build_id ).order_by( 'target' ); 472 tgts = Target.objects.filter( build_id = build_id ).order_by( 'target' );
473 473
474 # set up custom target list with computed package and image data 474 # set up custom target list with computed package and image data
475 targets = [ ] 475 targets = []
476 ntargets = 0 476 ntargets = 0
477 477
478 targetHasNoImages = False 478 # True if at least one target for this build has an SDK artifact
479 # or image file
480 has_artifacts = False
481
479 for t in tgts: 482 for t in tgts:
480 elem = { } 483 elem = {}
481 elem[ 'target' ] = t 484 elem['target'] = t
485
486 target_has_images = False
487 image_files = []
488
482 npkg = 0 489 npkg = 0
483 pkgsz = 0 490 pkgsz = 0
484 package = None 491 package = None
485 for package in Package.objects.filter(id__in = [x.package_id for x in t.target_installed_package_set.all()]): 492 for package in Package.objects.filter(id__in = [x.package_id for x in t.target_installed_package_set.all()]):
486 pkgsz = pkgsz + package.size 493 pkgsz = pkgsz + package.size
487 if ( package.installed_name ): 494 if package.installed_name:
488 npkg = npkg + 1 495 npkg = npkg + 1
489 elem[ 'npkg' ] = npkg 496 elem['npkg'] = npkg
490 elem[ 'pkgsz' ] = pkgsz 497 elem['pkgsz'] = pkgsz
491 ti = Target_Image_File.objects.filter( target_id = t.id ) 498 ti = Target_Image_File.objects.filter(target_id = t.id)
492 imageFiles = [ ]
493 for i in ti: 499 for i in ti:
494 ndx = i.file_name.rfind( '/' ) 500 ndx = i.file_name.rfind('/')
495 if ( ndx < 0 ): 501 if ndx < 0:
496 ndx = 0; 502 ndx = 0;
497 f = i.file_name[ ndx + 1: ] 503 f = i.file_name[ndx + 1:]
498 imageFiles.append({ 504 image_files.append({
499 'id': i.id, 505 'id': i.id,
500 'path': f, 506 'path': f,
501 'size': i.file_size, 507 'size': i.file_size,
502 'suffix': i.suffix 508 'suffix': i.suffix
503 }) 509 })
504 if t.is_image and (len(imageFiles) <= 0 or len(t.license_manifest_path) <= 0): 510 if len(image_files) > 0:
505 targetHasNoImages = True 511 target_has_images = True
506 elem[ 'imageFiles' ] = imageFiles 512 elem['targetHasImages'] = target_has_images
507 elem[ 'targetHasNoImages' ] = targetHasNoImages 513
514 elem['imageFiles'] = image_files
508 elem['target_kernel_artifacts'] = t.targetkernelfile_set.all() 515 elem['target_kernel_artifacts'] = t.targetkernelfile_set.all()
509 516
510 target_sdk_files = t.targetsdkfile_set.all() 517 target_sdk_files = t.targetsdkfile_set.all()
511 elem['target_sdk_artifacts_count'] = target_sdk_files.count() 518 target_sdk_artifacts_count = target_sdk_files.count()
519 elem['target_sdk_artifacts_count'] = target_sdk_artifacts_count
512 elem['target_sdk_artifacts'] = target_sdk_files 520 elem['target_sdk_artifacts'] = target_sdk_files
513 521
514 targets.append( elem ) 522 if target_has_images or target_sdk_artifacts_count > 0:
523 has_artifacts = True
524
525 targets.append(elem)
515 526
516 ## 527 ##
517 # how many packages in this build - ignore anonymous ones 528 # how many packages in this build - ignore anonymous ones
@@ -528,7 +539,7 @@ def builddashboard( request, build_id ):
528 context = { 539 context = {
529 'build' : build, 540 'build' : build,
530 'project' : build.project, 541 'project' : build.project,
531 'hasImages' : build.has_images(), 542 'hasArtifacts' : has_artifacts,
532 'ntargets' : ntargets, 543 'ntargets' : ntargets,
533 'targets' : targets, 544 'targets' : targets,
534 'recipecount' : recipeCount, 545 'recipecount' : recipeCount,