[Toaster] [review-request][PATCH] toaster: show suffix for image files and basename for artifact files
Michael Wood
michael.g.wood at intel.com
Tue Feb 23 04:22:24 PST 2016
Thanks sent to bitbake-devel and pushed to toaster-next
On 02/02/16 10:13, Smith, Elliot wrote:
> On 2 February 2016 at 10:11, Elliot Smith <elliot.smith at intel.com
> <mailto:elliot.smith at intel.com>> wrote:
>
> The build dashboard doesn't show image and artifact files correctly,
> as it shows the full filename for images and the filename plus
> path relative to DEPLOY_DIR for artifacts.
>
>
> Note that Belen has already informally reviewed this patch and
> verified its behaviour:
> https://lists.yoctoproject.org/pipermail/toaster/2016-February/003760.html
>
> Elliot
>
>
> Instead, show just the suffix for image files, and the basename
> for artifact files.
>
> Signed-off-by: Elliot Smith <elliot.smith at intel.com
> <mailto:elliot.smith at intel.com>>
> ---
> bitbake/lib/toaster/orm/models.py | 8 ++++++++
> .../toastergui/templates/builddashboard.html | 22
> +++++++++++-----------
> bitbake/lib/toaster/toastergui/views.py | 7 ++++++-
> 3 files changed, 25 insertions(+), 12 deletions(-)
>
> diff --git a/bitbake/lib/toaster/orm/models.py
> b/bitbake/lib/toaster/orm/models.py
> index ac2aa9e..bb95b75 100644
> --- a/bitbake/lib/toaster/orm/models.py
> +++ b/bitbake/lib/toaster/orm/models.py
> @@ -522,6 +522,8 @@ class BuildArtifact(models.Model):
>
> return self.file_name
>
> + def get_basename(self):
> + return os.path.basename(self.file_name)
>
> def is_available(self):
> return
> self.build.buildrequest.environment.has_artifact(self.file_name)
> @@ -560,6 +562,12 @@ class Target_Image_File(models.Model):
> file_name = models.FilePathField(max_length=254)
> file_size = models.IntegerField()
>
> + @property
> + def suffix(self):
> + filename, suffix = os.path.splitext(self.file_name)
> + suffix = suffix.lstrip('.')
> + return suffix
> +
> class Target_File(models.Model):
> ITYPE_REGULAR = 1
> ITYPE_DIRECTORY = 2
> diff --git
> a/bitbake/lib/toaster/toastergui/templates/builddashboard.html
> b/bitbake/lib/toaster/toastergui/templates/builddashboard.html
> index 323bbbb..5dac4db 100644
> --- a/bitbake/lib/toaster/toastergui/templates/builddashboard.html
> +++ b/bitbake/lib/toaster/toastergui/templates/builddashboard.html
> @@ -111,7 +111,7 @@
> </p>
> </div>
> </div>
> - {% else %}
> + {% else %}
> <dt>
> <i class="icon-question-sign get-help" title="The
> location in disk of the license manifest, a document listing all
> packages installed in your image and their licenses"></i>
>
> @@ -126,18 +126,18 @@
> </dt>
> <dd>
> <ul>
> - {% for i in target.imageFiles %}
> - {% if build.project %}
> - <li><a href="{% url 'build_artifact' build.pk
> <http://build.pk> 'imagefile' i.id <http://i.id> %}">{{i.path}}</a>
> - {% else %}
> - <li>{{i.path}}
> - {% endif %}
> - ({{i.size|filtered_filesizeformat}})</li>
> - {% endfor %}
> + {% for i in target.imageFiles %}
> + <li>
> + <a href="{% url 'build_artifact'
> build.pk <http://build.pk> 'imagefile' i.id <http://i.id> %}">
> + {{i.suffix}}
> + </a>
> + ({{i.size|filtered_filesizeformat}})
> + </li>
> + {% endfor %}
> </ul>
> </dd>
> </dl>
> - {% endif %}
> + {% endif %}
> </div>
> {% endif %}
> {% endfor %}
> @@ -161,7 +161,7 @@
> <dd><div>
> {% for ba in
> build.buildartifact_set.all|dictsort:"file_name" %}
> <a href="{%url 'build_artifact' build.id
> <http://build.id> 'buildartifact' ba.id <http://ba.id> %}">
> - {{ba.get_local_file_name}}
> + {{ba.get_basename}}
> </a>
>
> ({{ba.file_size|filtered_filesizeformat}}) <br/>
> diff --git a/bitbake/lib/toaster/toastergui/views.py
> b/bitbake/lib/toaster/toastergui/views.py
> index 995937a..4932885 100755
> --- a/bitbake/lib/toaster/toastergui/views.py
> +++ b/bitbake/lib/toaster/toastergui/views.py
> @@ -480,7 +480,12 @@ def builddashboard( request, build_id ):
> if ( ndx < 0 ):
> ndx = 0;
> f = i.file_name[ ndx + 1: ]
> - imageFiles.append({ 'id': i.id <http://i.id>, 'path':
> f, 'size' : i.file_size })
> + imageFiles.append({
> + 'id': i.id <http://i.id>,
> + 'path': f,
> + 'size': i.file_size,
> + 'suffix': i.suffix
> + })
> if t.is_image and (len(imageFiles) <= 0 or
> len(t.license_manifest_path) <= 0):
> targetHasNoImages = True
> elem[ 'imageFiles' ] = imageFiles
> --
> Elliot Smith
> Software Engineer
> Intel OTC
>
> ---------------------------------------------------------------------
> Intel Corporation (UK) Limited
> Registered No. 1134945 (England)
> Registered Office: Pipers Way, Swindon SN3 1RJ
> VAT No: 860 2173 47
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
>
>
>
>
> --
> Elliot Smith
> Software Engineer
> Intel Open Source Technology Centre
>
>
More information about the toaster
mailing list