[bitbake-devel] [PATCH] toaster: show suffix for image files and basename for artifact files
Michael Wood
michael.g.wood at intel.com
Tue Feb 23 12:17:04 UTC 2016
From: Elliot Smith <elliot.smith at intel.com>
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.
Instead, show just the suffix for image files, and the basename
for artifact files.
Signed-off-by: Elliot Smith <elliot.smith at intel.com>
---
lib/toaster/orm/models.py | 8 ++++++++
.../toastergui/templates/builddashboard.html | 22 +++++++++++-----------
lib/toaster/toastergui/views.py | 7 ++++++-
3 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py
index ab6940f..93b5df3 100644
--- a/lib/toaster/orm/models.py
+++ b/lib/toaster/orm/models.py
@@ -550,6 +550,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)
@@ -588,6 +590,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/lib/toaster/toastergui/templates/builddashboard.html b/lib/toaster/toastergui/templates/builddashboard.html
index 7857aba..a0da71e 100644
--- a/lib/toaster/toastergui/templates/builddashboard.html
+++ b/lib/toaster/toastergui/templates/builddashboard.html
@@ -110,7 +110,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>
@@ -125,18 +125,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 %}
@@ -160,7 +160,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/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py
index 13489af..28b03d3 100755
--- a/lib/toaster/toastergui/views.py
+++ b/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
--
2.5.0
More information about the bitbake-devel
mailing list