diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-09-30 13:45:51 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-10-30 13:39:50 +0000 |
commit | c7382dbd8bb273062164e7cdb7233b60874c91d3 (patch) | |
tree | f566e2290a12c4ca4d0b921e6b7c4cb8e76d9b24 | |
parent | 477587b99616911665055af67ccbfa7abbc48116 (diff) | |
download | poky-c7382dbd8bb273062164e7cdb7233b60874c91d3.tar.gz |
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>
-rwxr-xr-x | bitbake/lib/toaster/toastergui/views.py | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index 6a13a99bae..66113cfdf3 100755 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py | |||
@@ -1249,15 +1249,23 @@ def configuration(request, build_id): | |||
1249 | template = 'configuration.html' | 1249 | template = 'configuration.html' |
1250 | 1250 | ||
1251 | variables = Variable.objects.filter(build=build_id) | 1251 | variables = Variable.objects.filter(build=build_id) |
1252 | BB_VERSION=variables.get(variable_name='BB_VERSION').variable_value | 1252 | |
1253 | BUILD_SYS=variables.get(variable_name='BUILD_SYS').variable_value | 1253 | def _get_variable_or_empty(variable_name): |
1254 | NATIVELSBSTRING=variables.get(variable_name='NATIVELSBSTRING').variable_value | 1254 | from django.core.exceptions import ObjectDoesNotExist |
1255 | TARGET_SYS=variables.get(variable_name='TARGET_SYS').variable_value | 1255 | try: |
1256 | MACHINE=variables.get(variable_name='MACHINE').variable_value | 1256 | return variables.get(variable_name=variable_name).variable_value |
1257 | DISTRO=variables.get(variable_name='DISTRO').variable_value | 1257 | except ObjectDoesNotExist: |
1258 | DISTRO_VERSION=variables.get(variable_name='DISTRO_VERSION').variable_value | 1258 | return '' |
1259 | TUNE_FEATURES=variables.get(variable_name='TUNE_FEATURES').variable_value | 1259 | |
1260 | TARGET_FPU=variables.get(variable_name='TARGET_FPU').variable_value | 1260 | BB_VERSION=_get_variable_or_empty(variable_name='BB_VERSION') |
1261 | BUILD_SYS=_get_variable_or_empty(variable_name='BUILD_SYS') | ||
1262 | NATIVELSBSTRING=_get_variable_or_empty(variable_name='NATIVELSBSTRING') | ||
1263 | TARGET_SYS=_get_variable_or_empty(variable_name='TARGET_SYS') | ||
1264 | MACHINE=_get_variable_or_empty(variable_name='MACHINE') | ||
1265 | DISTRO=_get_variable_or_empty(variable_name='DISTRO') | ||
1266 | DISTRO_VERSION=_get_variable_or_empty(variable_name='DISTRO_VERSION') | ||
1267 | TUNE_FEATURES=_get_variable_or_empty(variable_name='TUNE_FEATURES') | ||
1268 | TARGET_FPU=_get_variable_or_empty(variable_name='TARGET_FPU') | ||
1261 | 1269 | ||
1262 | targets = Target.objects.filter(build=build_id) | 1270 | targets = Target.objects.filter(build=build_id) |
1263 | 1271 | ||