bitbake: toastergui: protect variable value reads

We make sure we don't throw an exception when reading
non-existent variables from the database, and we return
empty data that can be displayed without ill effects.

This fixes the Configuration page on empty builds.

(Bitbake rev: 5b13eabdec1e8a052d343fd67654d7fe8974224f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexandru DAMIAN
2014-09-30 13:45:51 +01:00
committed by Richard Purdie
parent 477587b996
commit c7382dbd8b

View File

@@ -1249,15 +1249,23 @@ def configuration(request, build_id):
template = 'configuration.html'
variables = Variable.objects.filter(build=build_id)
BB_VERSION=variables.get(variable_name='BB_VERSION').variable_value
BUILD_SYS=variables.get(variable_name='BUILD_SYS').variable_value
NATIVELSBSTRING=variables.get(variable_name='NATIVELSBSTRING').variable_value
TARGET_SYS=variables.get(variable_name='TARGET_SYS').variable_value
MACHINE=variables.get(variable_name='MACHINE').variable_value
DISTRO=variables.get(variable_name='DISTRO').variable_value
DISTRO_VERSION=variables.get(variable_name='DISTRO_VERSION').variable_value
TUNE_FEATURES=variables.get(variable_name='TUNE_FEATURES').variable_value
TARGET_FPU=variables.get(variable_name='TARGET_FPU').variable_value
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)