summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/views.py
diff options
context:
space:
mode:
authorMichael Wood <michael.g.wood@intel.com>2016-05-26 16:12:23 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-06-15 08:35:04 +0100
commitcaae3b6206dc31690f0c6638daaa7bb072c69042 (patch)
tree780fc9c4e430f93e1b1ae8d522ee921e82515876 /bitbake/lib/toaster/toastergui/views.py
parentb2a68f55110b39aaf0b0d47bf533251a59a40a41 (diff)
downloadpoky-caae3b6206dc31690f0c6638daaa7bb072c69042.tar.gz
bitbake: toaster: port Installed packages table to ToasterTable
(Bitbake rev: 2418c092abd9a503becf5e786125f8cdddd8652c) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py169
1 files changed, 0 insertions, 169 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 35ab63a22e..88bc39a166 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -681,175 +681,6 @@ def recipe_packages(request, build_id, recipe_id):
681 _set_parameters_values(pagesize, orderby, request) 681 _set_parameters_values(pagesize, orderby, request)
682 return response 682 return response
683 683
684def target_common( request, build_id, target_id, variant ):
685 template = "target.html"
686 default_orderby = 'name:+'
687
688 (pagesize, orderby) = _get_parameters_values(request, 25, default_orderby)
689 mandatory_parameters = { 'count': pagesize, 'page' : 1, 'orderby': orderby }
690 retval = _verify_parameters( request.GET, mandatory_parameters )
691 if retval:
692 return _redirect_parameters(
693 variant, request.GET, mandatory_parameters,
694 build_id = build_id, target_id = target_id )
695 ( filter_string, search_term, ordering_string ) = _search_tuple( request, Package )
696
697 # FUTURE: get rid of nested sub-queries replacing with ManyToMany field
698 queryset = Package.objects.filter(
699 size__gte = 0,
700 id__in = Target_Installed_Package.objects.filter(
701 target_id=target_id ).values( 'package_id' ))
702 packages_sum = queryset.aggregate( Sum( 'installed_size' ))
703 queryset = _get_queryset(
704 Package, queryset, filter_string, search_term, ordering_string, 'name' )
705 queryset = queryset.select_related("recipe", "recipe__layer_version", "recipe__layer_version__layer")
706 packages = _build_page_range( Paginator(queryset, pagesize), request.GET.get( 'page', 1 ))
707
708 build = Build.objects.get( pk = build_id )
709
710 # bring in package dependencies
711 for p in packages.object_list:
712 p.runtime_dependencies = p.package_dependencies_source.filter(
713 target_id = target_id, dep_type=Package_Dependency.TYPE_TRDEPENDS ).select_related("depends_on")
714 p.reverse_runtime_dependencies = p.package_dependencies_target.filter(
715 target_id = target_id, dep_type=Package_Dependency.TYPE_TRDEPENDS ).select_related("package")
716 tc_package = {
717 'name' : 'Package',
718 'qhelp' : 'Packaged output resulting from building a recipe included in this image',
719 'orderfield' : _get_toggle_order( request, "name" ),
720 'ordericon' : _get_toggle_order_icon( request, "name" ),
721 }
722 tc_packageVersion = {
723 'name' : 'Package version',
724 'qhelp' : 'The package version and revision',
725 }
726 tc_size = {
727 'name' : 'Size',
728 'qhelp' : 'The size of the package',
729 'orderfield' : _get_toggle_order( request, "size", True ),
730 'ordericon' : _get_toggle_order_icon( request, "size" ),
731 'orderkey' : 'size',
732 'clclass' : 'size',
733 'dclass' : 'span2',
734 }
735 if ( variant == 'target' ):
736 tc_size[ "hidden" ] = 0
737 else:
738 tc_size[ "hidden" ] = 1
739 tc_sizePercentage = {
740 'name' : 'Size over total (%)',
741 'qhelp' : 'Proportion of the overall size represented by this package',
742 'clclass' : 'size_over_total',
743 'hidden' : 1,
744 }
745 tc_license = {
746 'name' : 'License',
747 'qhelp' : 'The license under which the package is distributed. Separate license names u\
748sing | (pipe) means there is a choice between licenses. Separate license names using & (ampersand) m\
749eans multiple licenses exist that cover different parts of the source',
750 'orderfield' : _get_toggle_order( request, "license" ),
751 'ordericon' : _get_toggle_order_icon( request, "license" ),
752 'orderkey' : 'license',
753 'clclass' : 'license',
754 }
755 if ( variant == 'target' ):
756 tc_license[ "hidden" ] = 1
757 else:
758 tc_license[ "hidden" ] = 0
759 tc_dependencies = {
760 'name' : 'Dependencies',
761 'qhelp' : "Package runtime dependencies (other packages)",
762 'clclass' : 'depends',
763 }
764 if ( variant == 'target' ):
765 tc_dependencies[ "hidden" ] = 0
766 else:
767 tc_dependencies[ "hidden" ] = 1
768 tc_rdependencies = {
769 'name' : 'Reverse dependencies',
770 'qhelp' : 'Package run-time reverse dependencies (i.e. which other packages depend on this package',
771 'clclass' : 'brought_in_by',
772 }
773 if ( variant == 'target' ):
774 tc_rdependencies[ "hidden" ] = 0
775 else:
776 tc_rdependencies[ "hidden" ] = 1
777 tc_recipe = {
778 'name' : 'Recipe',
779 'qhelp' : 'The name of the recipe building the package',
780 'orderfield' : _get_toggle_order( request, "recipe__name" ),
781 'ordericon' : _get_toggle_order_icon( request, "recipe__name" ),
782 'orderkey' : "recipe__name",
783 'clclass' : 'recipe_name',
784 'hidden' : 0,
785 }
786 tc_recipeVersion = {
787 'name' : 'Recipe version',
788 'qhelp' : 'Version and revision of the recipe building the package',
789 'clclass' : 'recipe_version',
790 'hidden' : 1,
791 }
792 tc_layer = {
793 'name' : 'Layer',
794 'qhelp' : 'The name of the layer providing the recipe that builds the package',
795 'orderfield' : _get_toggle_order( request, "recipe__layer_version__layer__name" ),
796 'ordericon' : _get_toggle_order_icon( request, "recipe__layer_version__layer__name" ),
797 'orderkey' : "recipe__layer_version__layer__name",
798 'clclass' : 'layer_name',
799 'hidden' : 1,
800 }
801 tc_layerBranch = {
802 'name' : 'Layer branch',
803 'qhelp' : 'The Git branch of the layer providing the recipe that builds the package',
804 'orderfield' : _get_toggle_order( request, "recipe__layer_version__branch" ),
805 'ordericon' : _get_toggle_order_icon( request, "recipe__layer_version__branch" ),
806 'orderkey' : "recipe__layer_version__branch",
807 'clclass' : 'layer_branch',
808 'hidden' : 1,
809 }
810 tc_layerCommit = {
811 'name' : 'Layer commit',
812 'qhelp' : 'The Git commit of the layer providing the recipe that builds the package',
813 'clclass' : 'layer_commit',
814 'hidden' : 1,
815 }
816
817 context = {
818 'objectname': variant,
819 'build' : build,
820 'project' : build.project,
821 'target' : Target.objects.filter( pk = target_id )[ 0 ],
822 'objects' : packages,
823 'packages_sum' : packages_sum[ 'installed_size__sum' ],
824 'object_search_display': "packages included",
825 'default_orderby' : default_orderby,
826 'tablecols' : [
827 tc_package,
828 tc_packageVersion,
829 tc_license,
830 tc_size,
831 tc_sizePercentage,
832 tc_dependencies,
833 tc_rdependencies,
834 tc_recipe,
835 tc_recipeVersion,
836 tc_layer,
837 tc_layerBranch,
838 tc_layerCommit,
839 ]
840 }
841
842
843 response = render(request, template, context)
844 _set_parameters_values(pagesize, orderby, request)
845 return response
846
847def target( request, build_id, target_id ):
848 return( target_common( request, build_id, target_id, "target" ))
849
850def targetpkg( request, build_id, target_id ):
851 return( target_common( request, build_id, target_id, "targetpkg" ))
852
853from django.core.serializers.json import DjangoJSONEncoder 684from django.core.serializers.json import DjangoJSONEncoder
854from django.http import HttpResponse 685from django.http import HttpResponse
855def xhr_dirinfo(request, build_id, target_id): 686def xhr_dirinfo(request, build_id, target_id):