[Toaster] [PATCH] toaster: populate target image file table
Damian, Alexandru
alexandru.damian at intel.com
Wed Mar 12 07:06:33 PDT 2014
Taken in for submission.
On Tue, Mar 11, 2014 at 2:02 PM, Cristiana Voicu
<cristiana.voicu at intel.com>wrote:
> Using ImageFileSize Metadata event, the image output file and its
> size are populated into target_image_file table.
>
> [YOCTO #5189 & #5228]
> Signed-off-by: Cristiana Voicu <cristiana.voicu at intel.com>
> ---
> bitbake/lib/bb/ui/buildinfohelper.py | 13 +++++++++++++
> bitbake/lib/bb/ui/toasterui.py | 2 ++
> bitbake/lib/toaster/bldviewer/api.py | 1 +
> bitbake/lib/toaster/bldviewer/views.py | 3 ++-
> 4 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/bitbake/lib/bb/ui/buildinfohelper.py
> b/bitbake/lib/bb/ui/buildinfohelper.py
> index d7b526a..798edfd 100644
> --- a/bitbake/lib/bb/ui/buildinfohelper.py
> +++ b/bitbake/lib/bb/ui/buildinfohelper.py
> @@ -26,6 +26,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE",
> "toaster.toastermain.settings")
>
> import toaster.toastermain.settings as toaster_django_settings
> from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer,
> Target, LogMessage
> +from toaster.orm.models import Target_Image_File
> from toaster.orm.models import Variable, VariableHistory
> from toaster.orm.models import Package, Package_File,
> Target_Installed_Package
> from toaster.orm.models import Task_Dependency, Package_Dependency
> @@ -237,6 +238,11 @@ class ORMWrapper(object):
> if (len(errormsg) > 0):
> raise Exception(errormsg)
>
> + def save_target_image_file_information(self, target_obj, file_name,
> file_size):
> + target_image_file = Target_Image_File.objects.create( target =
> target_obj,
> + file_name = file_name,
> + file_size = file_size)
> + target_image_file.save()
>
> def create_logmessage(self, log_information):
> assert 'build' in log_information
> @@ -491,6 +497,13 @@ class BuildInfoHelper(object):
> # Save build configuration
> self.orm_wrapper.save_build_variables(build_obj,
> self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0])
>
> + def update_target_image_file(self, event):
> + for t in self.internal_state['targets']:
> + if t.is_image == True:
> + output_files = list(event.data.viewkeys())
> + for output in output_files:
> + if t.target in output:
> +
> self.orm_wrapper.save_target_image_file_information(t, output,
> event.data[output])
>
> def update_build_information(self, event, errors, warnings,
> taskfailures):
> if 'build' in self.internal_state:
> diff --git a/bitbake/lib/bb/ui/toasterui.py
> b/bitbake/lib/bb/ui/toasterui.py
> index e469d93..04e0f99 100644
> --- a/bitbake/lib/bb/ui/toasterui.py
> +++ b/bitbake/lib/bb/ui/toasterui.py
> @@ -241,6 +241,8 @@ def main(server, eventHandler, params ):
> buildinfohelper.store_tasks_stats(event)
> if event.type == "ImagePkgList":
> buildinfohelper.store_target_package_data(event)
> + elif event.type == "ImageFileSize":
> + buildinfohelper.update_target_image_file(event)
> continue
>
> # ignore
> diff --git a/bitbake/lib/toaster/bldviewer/api.py
> b/bitbake/lib/toaster/bldviewer/api.py
> index 654864e..76d45c7 100644
> --- a/bitbake/lib/toaster/bldviewer/api.py
> +++ b/bitbake/lib/toaster/bldviewer/api.py
> @@ -25,6 +25,7 @@ from django.conf.urls import patterns, include, url
> urlpatterns = patterns('bldviewer.views',
> url(r'^builds$', 'model_explorer', {'model_name':'build'},
> name='builds'),
> url(r'^targets$', 'model_explorer', {'model_name':'target'},
> name='targets'),
> + url(r'^target_image_file$', 'model_explorer',
> {'model_name':'target_image_file'}, name='target_image_file'),
> url(r'^tasks$', 'model_explorer', {'model_name':'task'},
> name='task'),
> url(r'^task_dependencies$', 'model_explorer',
> {'model_name':'task_dependency'}, name='task_dependencies'),
> url(r'^packages$', 'model_explorer', {'model_name':'package'},
> name='package'),
> diff --git a/bitbake/lib/toaster/bldviewer/views.py
> b/bitbake/lib/toaster/bldviewer/views.py
> index 435bc8e..6f86379 100644
> --- a/bitbake/lib/toaster/bldviewer/views.py
> +++ b/bitbake/lib/toaster/bldviewer/views.py
> @@ -25,7 +25,7 @@ from django.db.models import Q
> from django.shortcuts import render
> from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe,
> LogMessage, Variable, Target_Installed_Package
> from orm.models import Task_Dependency, Recipe_Dependency, Package,
> Package_File, Package_Dependency
> -from orm.models import Target_Installed_Package, VariableHistory
> +from orm.models import Target_Installed_Package, VariableHistory,
> Target_Image_File
> from django.views.decorators.cache import cache_control
> from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
>
> @@ -159,6 +159,7 @@ def model_explorer(request, model_name):
> model_mapping = {
> 'build': Build,
> 'target': Target,
> + 'target_image_file': Target_Image_File,
> 'task': Task,
> 'task_dependency': Task_Dependency,
> 'package': Package,
> --
> 1.7.9.5
>
> --
> _______________________________________________
> toaster mailing list
> toaster at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/toaster
>
--
Alex Damian
Yocto Project
SSG / OTC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20140312/c29f294d/attachment.html>
More information about the toaster
mailing list