Hi Jose, Sorry for the delay. The patch looks good except it displays two errors if there's no layer after the layer: prefix. I've fixed that myself and merged to layerindex-web master.
Thanks, Paul On Thursday, 15 June 2017 3:19:48 PM CEST Jose Lamego wrote: > ping > > On 05/31/2017 03:47 PM, Jose Lamego wrote: > > This change supports querying recipes that belong to a specific layer > > by using the prefix "layer:" + the desired layer name, for example: > > "layer: openembedded-core" and this string can be used by itself or > > combined with other supported options. > > > > A descriptive error message is displayed when the query string has an > > unexpected formatting or a non-valid layer name is searched. > > > > [YOCTO #6618] > > > > Signed-off-by: Jose Lamego <jose.a.lam...@linux.intel.com> > > --- > > layerindex/views.py | 17 ++++++++++++++++- > > 1 file changed, 16 insertions(+), 1 deletion(-) > > > > diff --git a/layerindex/views.py b/layerindex/views.py > > index 65a536a..3eac3ac 100644 > > --- a/layerindex/views.py > > +++ b/layerindex/views.py > > @@ -390,13 +390,28 @@ class RecipeSearchView(ListView): > > for item in query_items: > > if item.startswith('inherits:'): > > inherits.append(item.split(':')[1]) > > + # support searches by layer name > > + elif item.startswith('layer:'): > > + query_layername = item.split(':')[1].strip().lower() > > + if not query_layername: > > + messages.add_message(self.request, messages.ERROR, 'The \ > > +layer name is expected to follow the \"layer:\" prefix without any spaces.') > > + query_layer = LayerBranch.objects.filter( > > + layer__name=query_layername) > > + if query_layer: > > + init_qs = init_qs.filter( > > + layerbranch__layer__id=query_layer[0].id) > > + else: > > + messages.add_message(self.request, messages.ERROR, > > + 'No layer \"%s\" was found.' > > + % query_layername) > > else: > > query_terms.append(item) > > if inherits: > > # FIXME This is a bit ugly, perhaps we should consider having this as a one-many relationship instead > > for inherit in inherits: > > init_qs = init_qs.filter(Q(inherits=inherit) | Q(inherits__startswith=inherit + ' ') | Q(inherits__endswith=' ' + inherit) | Q(inherits__contains=' %s ' % inherit)) > > - query_string = ' '.join(query_terms) > > + query_string = ' '.join(query_terms) > > > > if query_string.strip(): > > order_by = ('pn', 'layerbranch__layer') > > > > -- Paul Eggleton Intel Open Source Technology Centre -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto