aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2015-05-02 18:50:34 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-12 12:14:12 +0100
commit3b1bb2dfffe35a894bc08bb6c8caa24f4ac1db47 (patch)
tree2788b0cff6a14eaba1e09dd408983fc1f82a747f
parent84a294eddee8405d9133f8c365e9589dd254197d (diff)
downloadopenembedded-core-contrib-3b1bb2dfffe35a894bc08bb6c8caa24f4ac1db47.tar.gz
openembedded-core-contrib-3b1bb2dfffe35a894bc08bb6c8caa24f4ac1db47.tar.bz2
openembedded-core-contrib-3b1bb2dfffe35a894bc08bb6c8caa24f4ac1db47.zip
bitbake: toastergui: decrease load time for configuration page
Used __in field lookup for QuerySet to get build variables faster. [YOCTO #6691] (Bitbake rev: 222e21d2fc3dc67449e582d983e11ea927e3eaef) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py46
1 files changed, 9 insertions, 37 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 7e909265590..e296cf6de37 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -1266,43 +1266,15 @@ def recipes(request, build_id):
def configuration(request, build_id):
template = 'configuration.html'
- variables = Variable.objects.filter(build=build_id)
-
- def _get_variable_or_empty(variable_name):
- from django.core.exceptions import ObjectDoesNotExist
- try:
- return variables.get(variable_name=variable_name).variable_value
- except ObjectDoesNotExist:
- return ''
-
- BB_VERSION=_get_variable_or_empty(variable_name='BB_VERSION')
- BUILD_SYS=_get_variable_or_empty(variable_name='BUILD_SYS')
- NATIVELSBSTRING=_get_variable_or_empty(variable_name='NATIVELSBSTRING')
- TARGET_SYS=_get_variable_or_empty(variable_name='TARGET_SYS')
- MACHINE=_get_variable_or_empty(variable_name='MACHINE')
- DISTRO=_get_variable_or_empty(variable_name='DISTRO')
- DISTRO_VERSION=_get_variable_or_empty(variable_name='DISTRO_VERSION')
- TUNE_FEATURES=_get_variable_or_empty(variable_name='TUNE_FEATURES')
- TARGET_FPU=_get_variable_or_empty(variable_name='TARGET_FPU')
-
- targets = Target.objects.filter(build=build_id)
-
- context = {
- 'objectname': 'configuration',
- 'object_search_display':'variables',
- 'filter_search_display':'variables',
- 'build': Build.objects.get(pk=build_id),
- 'BB_VERSION':BB_VERSION,
- 'BUILD_SYS':BUILD_SYS,
- 'NATIVELSBSTRING':NATIVELSBSTRING,
- 'TARGET_SYS':TARGET_SYS,
- 'MACHINE':MACHINE,
- 'DISTRO':DISTRO,
- 'DISTRO_VERSION':DISTRO_VERSION,
- 'TUNE_FEATURES':TUNE_FEATURES,
- 'TARGET_FPU':TARGET_FPU,
- 'targets':targets,
- }
+ var_names = ('BB_VERSION', 'BUILD_SYS', 'NATIVELSBSTRING', 'TARGET_SYS',
+ 'MACHINE', 'DISTRO', 'DISTRO_VERSION', 'TUNE_FEATURES', 'TARGET_FPU')
+ context = dict(Variable.objects.filter(build=build_id, variable_name__in=var_names)\
+ .values_list('variable_name', 'variable_value'))
+ context.update({'objectname': 'configuration',
+ 'object_search_display':'variables',
+ 'filter_search_display':'variables',
+ 'build': Build.objects.get(pk=build_id),
+ 'targets': Target.objects.filter(build=build_id)})
return render(request, template, context)