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') >
-- Jose Lamego | OTC Embedded Platforms & Tools | GDC
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto