[Toaster] [review-request][PATCH] bitbake: toastergui: show relative paths in configvars view
Ed Bartosh
ed.bartosh at linux.intel.com
Sat May 2 03:37:04 PDT 2015
Strip topdir from paths to config files in configvars view.
Got rid of specific filter cut_layer_path_prefix.
[YOCTO #7463]
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
---
.../lib/toaster/toastergui/templates/configvars.html | 4 ++--
.../lib/toaster/toastergui/templatetags/projecttags.py | 17 ++++-------------
bitbake/lib/toaster/toastergui/views.py | 8 ++------
3 files changed, 8 insertions(+), 21 deletions(-)
diff --git a/bitbake/lib/toaster/toastergui/templates/configvars.html b/bitbake/lib/toaster/toastergui/templates/configvars.html
index 3e4c7e8..42d8fa7 100644
--- a/bitbake/lib/toaster/toastergui/templates/configvars.html
+++ b/bitbake/lib/toaster/toastergui/templates/configvars.html
@@ -55,7 +55,7 @@
<td class="variable_value"><a data-toggle="modal" href="#variable-{{variable.pk}}">{{variable.variable_value|truncatechars:153}}</a></td>
<td class="file"><a data-toggle="modal" href="#variable-{{variable.pk}}">
{% if variable.vhistory.all %} {% autoescape off %}
- {{variable.vhistory.all | filter_setin_files:file_filter | cut_layer_path_prefix:layer_names}}
+ {{variable.vhistory.all | filter_setin_files:file_filter | cut_path_prefix:topdir}}
{% endautoescape %} {% endif %}
</a></td>
<td class="description">
@@ -115,7 +115,7 @@
<tbody>
{% for vh in variable.vhistory.all %}
<tr>
- <td>{{forloop.counter}}</td><td>{{vh.file_name|cut_layer_path_prefix:layer_names}}</td><td>{{vh.operation}}</td><td>{{vh.line_number}}</td>
+ <td>{{forloop.counter}}</td><td>{{vh.file_name|cut_path_prefix:topdir}}</td><td>{{vh.operation}}</td><td>{{vh.line_number}}</td>
</tr>
{%endfor%}
</tbody>
diff --git a/bitbake/lib/toaster/toastergui/templatetags/projecttags.py b/bitbake/lib/toaster/toastergui/templatetags/projecttags.py
index 54700e3..4c3bffd 100644
--- a/bitbake/lib/toaster/toastergui/templatetags/projecttags.py
+++ b/bitbake/lib/toaster/toastergui/templatetags/projecttags.py
@@ -20,6 +20,7 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from datetime import datetime, timedelta
+from os.path import relpath
import re
from django import template
from django.utils import timezone
@@ -313,16 +314,6 @@ def is_shaid(text):
return False
@register.filter
-def cut_layer_path_prefix(fullpath,layer_names):
- ### if some part of the full local path to a layer matches
- ### an entry in layer_names (sorted desc), return the layer
- ### name relative path.
- for lname in layer_names:
- # import rpdb; rpdb.set_trace()
- # only try layer names that are non-trivial to avoid false matches
- if len(lname) >= 4:
- # match layer name with as a subdir / or for remote layers /_
- if re.search('/' + lname, fullpath) or re.search('/_' + lname, fullpath):
- parts = re.split(lname, fullpath, 1)
- return lname + parts[1]
- return fullpath
+def cut_path_prefix(fullpath, topdir):
+ """Cut topdir from the fullpath."""
+ return relpath(fullpath, topdir) if fullpath.startswith(topdir) else fullpath
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index b5c4d87..e7110c8 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -39,6 +39,7 @@ from datetime import timedelta, datetime, date
from django.utils import formats
from toastergui.templatetags.projecttags import json as jsonfilter
import json
+from os.path import dirname
# all new sessions should come through the landing page;
# determine in which mode we are running in, and redirect appropriately
@@ -1326,11 +1327,6 @@ def configvars(request, build_id):
variables = _build_page_range(Paginator(queryset, pagesize), request.GET.get('page', 1))
- layers = Layer.objects.filter(layer_version_layer__projectlayer__project__build=build_id).order_by("-name")
- layer_names = map(lambda layer : layer.name, layers)
- # special case for meta built-in layer
- layer_names.append('meta')
-
# show all matching files (not just the last one)
file_filter= search_term + ":"
if filter_string.find('/conf/') > 0:
@@ -1353,7 +1349,7 @@ def configvars(request, build_id):
'total_count':queryset_with_search.count(),
'default_orderby' : 'variable_name:+',
'search_term':search_term,
- 'layer_names' : layer_names,
+ 'topdir': dirname(build_dir),
# Specifies the display of columns for the table, appearance in "Edit columns" box, toggling default show/hide, and specifying filters for columns
'tablecols' : [
{'name': 'Variable',
--
2.1.4
More information about the toaster
mailing list