[Toaster] [review-request][PATCH] toaster: show suffix for image files and basename for artifact files

Smith, Elliot elliot.smith at intel.com
Tue Feb 2 02:13:54 PST 2016


On 2 February 2016 at 10:11, Elliot Smith <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>
> ---
>  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
> 'imagefile' 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
> 'imagefile' 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 'buildartifact'
> 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, 'path': f, 'size' :
> i.file_size })
> +            imageFiles.append({
> +                'id': 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20160202/b5bcddc0/attachment-0001.html>


More information about the toaster mailing list