From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 21A1DE00997; Tue, 5 May 2015 03:08:48 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/, high * trust * [134.134.136.65 listed in list.dnswl.org] * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id AC080E00961 for ; Tue, 5 May 2015 03:08:42 -0700 (PDT) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP; 05 May 2015 03:08:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,372,1427785200"; d="scan'208";a="720869075" Received: from irsmsx106.ger.corp.intel.com ([163.33.3.31]) by fmsmga002.fm.intel.com with ESMTP; 05 May 2015 03:08:40 -0700 Received: from irsmsx110.ger.corp.intel.com ([169.254.15.5]) by IRSMSX106.ger.corp.intel.com ([169.254.8.204]) with mapi id 14.03.0224.002; Tue, 5 May 2015 11:08:40 +0100 From: "Barros Pena, Belen" To: Ed Bartosh , "toaster@yoctoproject.org" Thread-Topic: [Toaster] [review-request][PATCH] bitbake: toastergui: show relative paths in configvars view Thread-Index: AQHQhxt1hRF/gyiKoUuJTgEogKOXuQ== Date: Tue, 5 May 2015 10:08:39 +0000 Message-ID: References: <1430563024-2118-1-git-send-email-ed.bartosh@linux.intel.com> In-Reply-To: <1430563024-2118-1-git-send-email-ed.bartosh@linux.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.4.9.150325 x-originating-ip: [10.237.224.37] MIME-Version: 1.0 Subject: Re: [review-request][PATCH] bitbake: toastergui: show relative paths in configvars view X-BeenThere: toaster@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Web based interface for BitBake List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 May 2015 10:08:48 -0000 Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-ID: <52B0C2B2DF36174F87F9101AFA74094F@intel.com> Content-Transfer-Encoding: quoted-printable On 02/05/2015 11:37, "Ed Bartosh" wrote: >Strip topdir from paths to config files in configvars view. >Got rid of specific filter cut_layer_path_prefix. The paths in the variables table are not looking as expected when I apply this. The paths to local.conf and bblayers.conf do show now as relative paths, but paths to files inside a layer become full paths (instead of relative paths). So instead of seeing meta/conf/bitbake.conf I see=20 /home///meta/conf/bitbake.conf I've uploaded an screenshot here http://imgur.com/BhehRxF All paths in this table should be relative paths. Cheers Bel=E9n > >[YOCTO #7463] > >Signed-off-by: Ed Bartosh >--- > .../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 @@ > href=3D"#variable-{{variable.pk}}">{{variable.variable_value|truncatechars= :1 >53}} > href=3D"#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 %} > > >@@ -115,7 +115,7 @@ > > {% for vh in variable.vhistory.all %} > >- =20 >{{forloop.counter}}{{vh.file_name|cut_layer_path_prefix:layer >_names}}{{vh.operation}}{{vh.line_number}} >+ =20 >{{forloop.counter}}{{vh.file_name|cut_path_prefix:topdir}}d>{{vh.operation}}{{vh.line_number}} > > {%endfor%} > >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. >=20 > 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 >=20 > @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) >=3D 4: >- # match layer name with as a subdir / or for remote layers /_ >- if re.search('/' + lname, fullpath) or re.search('/_' + >lname, fullpath): >- parts =3D 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 >=20 > # 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): >=20 > variables =3D _build_page_range(Paginator(queryset, pagesize), >request.GET.get('page', 1)) >=20 >- layers =3D=20 >Layer.objects.filter(layer_version_layer__projectlayer__project__build=3Db= ui >ld_id).order_by("-name") >- layer_names =3D 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=3D 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', >--=20 >2.1.4 > >--=20 >_______________________________________________ >toaster mailing list >toaster@yoctoproject.org >https://lists.yoctoproject.org/listinfo/toaster