summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2015-03-09 18:42:17 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-16 17:44:07 +0000
commit42d1b65d1543cbb334e776bf0193ea9a8a14799e (patch)
tree5d70aaf9ee4574dc1eac00b19bbca162b45361a6 /bitbake
parent50c5ca5254395c7bd092993304c314d86422eb99 (diff)
downloadast2050-yocto-poky-42d1b65d1543cbb334e776bf0193ea9a8a14799e.zip
ast2050-yocto-poky-42d1b65d1543cbb334e776bf0193ea9a8a14799e.tar.gz
bitbake: toastergui: improve performance in the all targets page
This patch improves performance in the all targets display by computing the preffered layer only for displayed targets, instead of computing for all targets. (Bitbake rev: 027e3b7c579e21b3164f2785578ae9905b4fb325) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 9f1fbca..5b481cb 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -2752,21 +2752,21 @@ if toastermain.settings.MANAGED:
queryset_with_search = _get_queryset(Recipe, queryset_all, None, search_term, ordering_string, '-name')
- # get unique values for 'name' and 'version', and select the maximum ID for each entry (the max id is the newest one)
+ # get unique values for 'name', and select the maximum ID for each entry (the max id is the newest one)
queryset_with_search_maxids = queryset_with_search.values('name').distinct().annotate(max_id=Max('id')).values_list('max_id')
- queryset_with_search = queryset_with_search.filter(id__in=queryset_with_search_maxids).select_related('layer_version', 'layer_version__layer')
+ queryset_with_search = queryset_with_search.filter(id__in=queryset_with_search_maxids).select_related('layer_version', 'layer_version__layer', 'layer_version__up_branch')
- objects = list(queryset_with_search)
- for e in objects:
- e.preffered_layerversion = e.layer_version.get_equivalents_wpriority(prj)[0]
# retrieve the objects that will be displayed in the table; targets a paginator and gets a page range to display
- target_info = _build_page_range(Paginator(objects, request.GET.get('count', 10)),request.GET.get('page', 1))
+ target_info = _build_page_range(Paginator(queryset_with_search, request.GET.get('count', 10)),request.GET.get('page', 1))
+
+ for e in target_info.object_list:
+ e.preffered_layerversion = e.layer_version.get_equivalents_wpriority(prj)[0]
context = {
- 'projectlayerset' : jsonfilter(map(lambda x: x.layercommit.id, prj.projectlayer_set.all())),
+ 'projectlayerset' : jsonfilter(map(lambda x: x.layercommit.id, prj.projectlayer_set.all().select_related("layercommit"))),
'objects' : target_info,
'objectname' : "targets",
'default_orderby' : 'name:+',
OpenPOWER on IntegriCloud