Patchwork [bitbake-devel,19/19] toaster: added file types to the Outputs column in the build page

login
register
mail settings
Submitter Alexandru DAMIAN
Date March 14, 2014, 5:59 p.m.
Message ID <5984a3c7b8cc113794eb863caba7c7353165fdc1.1394819783.git.alexandru.damian@intel.com>
Download mbox | patch
Permalink /patch/68651/
State New
Headers show

Comments

Alexandru DAMIAN - March 14, 2014, 5:59 p.m.
From: Farrell Wymore <farrell.wymore@windriver.com>

The file types are displayed in the Outputs column in the build page.
The file types are derived from the target image filenames.

[YOCTO #5947]

Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com>
---
 lib/toaster/toastergui/templates/build.html        |  6 ++++-
 lib/toaster/toastergui/templatetags/projecttags.py | 27 ++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)

Patch

diff --git a/lib/toaster/toastergui/templates/build.html b/lib/toaster/toastergui/templates/build.html
index 3c9256c..f1fa70d 100644
--- a/lib/toaster/toastergui/templates/build.html
+++ b/lib/toaster/toastergui/templates/build.html
@@ -92,7 +92,11 @@ 
             <td class="warnings_no">{% if  build.warnings_no %}<a class="warnings_no warning" href="{% url "builddashboard" build.id %}#warnings">{{build.warnings_no}} warning{{build.warnings_no|pluralize}}</a>{%endif%}</td>
             <td class="time"><a href="{% url "buildtime" build.id %}">{{build.timespent|sectohms}}</a></td>
             <td class="log">{{build.cooker_log_path}}</td>
-            <td class="output">{% if build.outcome == 0 %}{% for t in build.target_set.all %}{% if t.is_image %}<a href="{%url "builddashboard" build.id%}#images">TODO: compute image output fstypes</a>{% endif %}{% endfor %}{% endif %}</td>
+            <td class="output">
+              {% if build.outcome == 0 %}
+              {{build|get_image_extensions}}
+              {% endif %}
+            </td>
         </tr>
 
         {% endfor %}
diff --git a/lib/toaster/toastergui/templatetags/projecttags.py b/lib/toaster/toastergui/templatetags/projecttags.py
index 857680b..60d5dd0 100644
--- a/lib/toaster/toastergui/templatetags/projecttags.py
+++ b/lib/toaster/toastergui/templatetags/projecttags.py
@@ -24,6 +24,8 @@  import re
 from django import template
 from django.utils import timezone
 from django.template.defaultfilters import filesizeformat
+from orm.models import Target_Installed_Package, Target_Image_File
+from orm.models import Build, Target, Task, Layer, Layer_Version
 
 register = template.Library()
 
@@ -188,3 +190,28 @@  def string_slice(strvar,slicevar):
     else:
         return strvar[int(first):int(last)]
 
+@register.filter
+def get_image_extensions( build ):
+    """
+    This is a simple filter that returns a list (string)
+    of extensions of the build-targets-image files. Note
+    that each build can have multiple targets and each
+    target can yield more than one image file
+    """
+    targets = Target.objects.filter( build_id = build.id );
+    comma = "";
+    extensions = "";
+    for t in targets:
+        if ( not t.is_image ):
+            continue;
+        tif = Target_Image_File.objects.filter( target_id = t.id );
+        for i in tif:
+            try:
+                ndx = i.file_name.index( "." );
+            except ValueError:
+                ndx = 0;
+            s = i.file_name[ ndx + 1 : ];
+            extensions += comma + s;
+            comma = ", ";
+    return( extensions );
+