def get_query(self, request, base_filters=None, region=None): return Webapp.from_search(request, region=region, gaia=request.GAIA, mobile=request.MOBILE, tablet=request.TABLET, filter_overrides=base_filters)
def _filter(self, req, filters, sorting=None): form = ApiSearchForm(filters) if form.is_valid(): qs = Webapp.from_search().facet("category") return _filter_search(self.req, qs, form.cleaned_data, sorting)._build_query() else: return form.errors.copy()
def field_to_native_es(self, obj, request): """ A version of field_to_native that uses ElasticSearch to fetch the apps belonging to the collection instead of SQL. Relies on a FeaturedSearchView instance in self.context['view'] to properly rehydrate results returned by ES. """ profile = get_feature_profile(request) region = self.context['view'].get_region(request) platform = mkt.PLATFORM_LOOKUP.get(request.GET.get('dev')) _rget = lambda d: getattr(request, d, False) qs = Webapp.from_search(request, region=region) filters = {'collection.id': obj.pk} filters.update(**self._get_filters(request, es=True)) if profile: filters.update(**profile.to_kwargs(prefix='features.has_')) qs = qs.filter(**filters).order_by({ 'collection.order': { 'order': 'asc', 'nested_filter': { 'term': {'collection.id': obj.pk} } } }) return self.to_native_es(qs)
def _filter(self, req, filters, sorting=None, **kwargs): form = self.form_class(filters) if form.is_valid(): qs = Webapp.from_search(self.req, **kwargs) return _filter_search(self.req, qs, form.cleaned_data, sorting)._build_query() else: return form.errors.copy()
def field_to_native_es(self, obj, request): """ A version of field_to_native that uses ElasticSearch to fetch the apps belonging to the collection instead of SQL. Relies on a FeaturedSearchView instance in self.context['view'] to properly rehydrate results returned by ES. """ profile = get_feature_profile(request) region = self.context['view'].get_region(request) device = self._get_device(request) _rget = lambda d: getattr(request, d, False) qs = Webapp.from_search(request, region=region, gaia=_rget('GAIA'), mobile=_rget('MOBILE'), tablet=_rget('TABLET')) filters = {'collection.id': obj.pk} if device and device != amo.DEVICE_DESKTOP: filters['device'] = device.id if profile: filters.update(**profile.to_kwargs(prefix='features.has_')) qs = qs.filter(**filters).order_by({ 'collection.order': { 'order': 'asc', 'nested_filter': { 'term': { 'collection.id': obj.pk } } } }) return self.to_native_es(qs)
def field_to_native_es(self, obj, request): """ A version of field_to_native that uses ElasticSearch to fetch the apps belonging to the collection instead of SQL. Relies on a FeaturedSearchView instance in self.context['view'] to properly rehydrate results returned by ES. """ profile = get_feature_profile(request) region = self.context['view'].get_region_from_request(request) device = self._get_device(request) _rget = lambda d: getattr(request, d, False) qs = Webapp.from_search(request, region=region, gaia=_rget('GAIA'), mobile=_rget('MOBILE'), tablet=_rget('TABLET')) filters = {'collection.id': obj.pk} if device and device != amo.DEVICE_DESKTOP: filters['device'] = device.id if profile: filters.update(**profile.to_kwargs(prefix='features.has_')) qs = qs.filter(**filters).order_by({ 'collection.order': { 'order': 'asc', 'nested_filter': { 'term': {'collection.id': obj.pk} } } }) return self.to_native(qs, use_es=True)
def field_to_native_es(self, obj, request): """ A version of field_to_native that uses ElasticSearch to fetch the apps belonging to the collection instead of SQL. Relies on a FeaturedSearchView instance in self.context['view'] to properly rehydrate results returned by ES. """ profile = get_feature_profile(request) region = self.context['view'].get_region(request) qs = Webapp.from_search(request, region=region) filters = {'collection.id': obj.pk} if profile: filters.update(**profile.to_kwargs(prefix='features.has_')) qs = qs.filter(**filters).order_by({ 'collection.order': { 'order': 'asc', 'nested_filter': { 'term': {'collection.id': obj.pk} } } }) return self.to_native_es(qs)
def _filter(self, req, filters, **kwargs): form = self.form_class(filters) if form.is_valid(): qs = Webapp.from_search(self.req, **kwargs) return _filter_search( self.req, qs, form.cleaned_data).to_dict() else: return form.errors.copy()
def _filter(self, req, filters, **kwargs): form = ApiSearchForm(filters) if form.is_valid(): qs = Webapp.from_search(self.req, **kwargs) return _filter_search( self.req, qs, form.cleaned_data)._build_query() else: return form.errors.copy()
def _filter(self, req, filters, sorting=None, **kwargs): form = self.form_class(filters) if form.is_valid(): qs = Webapp.from_search(self.req, **kwargs) return _filter_search( self.req, qs, form.cleaned_data, sorting)._build_query() else: return form.errors.copy()
def _filter(self, req, filters, sorting=None): form = ApiSearchForm(filters) if form.is_valid(): qs = Webapp.from_search().facet('category') return _filter_search(self.req, qs, form.cleaned_data, sorting)._build_query() else: return form.errors.copy()
def get_query(self, request, base_filters=None, region=None): return Webapp.from_search( request, region=region, gaia=request.GAIA, mobile=request.MOBILE, tablet=request.TABLET, filter_overrides=base_filters, )
def field_to_native_es(self, obj, request): """ A version of field_to_native that uses ElasticSearch to fetch the apps belonging to the collection instead of SQL. Relies on a FeaturedSearchView instance in self.context['view'] to properly rehydrate results returned by ES. """ profile = get_feature_profile(request) region = self.context["view"].get_region(request) qs = Webapp.from_search(request, region=region) filters = {"collection.id": obj.pk} if profile: filters.update(**profile.to_kwargs(prefix="features.has_")) qs = qs.filter(**filters).order_by("collection.order") return [self.to_native_es(app) for app in qs]
def field_to_native_es(self, obj, request): """ A version of field_to_native that uses ElasticSearch to fetch the apps belonging to the collection instead of SQL. Relies on a SearchResource instance in self.context['search_resource'] to properly rehydrate results returned by ES. """ search_resource = self.context["search_resource"] profile = get_feature_profile(request) region = search_resource.get_region(request) qs = Webapp.from_search(request, region=region) filters = {"collection.id": obj.pk} if profile and waffle.switch_is_active("buchets"): filters.update(**profile.to_kwargs(prefix="features.has_")) qs = qs.filter(**filters).order_by("collection.order") return [bundle.data for bundle in search_resource.rehydrate_results(request, qs)]
def field_to_native_es(self, obj, request): """ A version of field_to_native that uses ElasticSearch to fetch the apps belonging to the collection instead of SQL. Relies on a SearchResource instance in self.context['search_resource'] to properly rehydrate results returned by ES. """ search_resource = self.context['search_resource'] profile = get_feature_profile(request) region = search_resource.get_region(request) qs = Webapp.from_search(request, region=region) filters = {'collection.id': obj.pk} if profile: filters.update(**profile.to_kwargs(prefix='features.has_')) qs = qs.filter(**filters).order_by('collection.order') return [bundle.data for bundle in search_resource.rehydrate_results(request, qs)]
def _get_query(region, gaia, mobile, tablet, status=amo.STATUS_PUBLIC): return Webapp.from_search(region=region, gaia=gaia, mobile=mobile, tablet=tablet, status=status).facet('category')
def _get_query(region, gaia, mobile, tablet): return Webapp.from_search(region=region, gaia=gaia, mobile=mobile, tablet=tablet).facet('category')
def _get_query(region): return Webapp.from_search(region=region).facet('category')
def _get_query(region): return Webapp.from_search(region=region).facet("category")
def _get_query(region, gaia): return Webapp.from_search(region=region, gaia=gaia).facet('category')
def get_query(self, request, base_filters=None, region=None): return Webapp.from_search(request, region=region, filter_overrides=base_filters)
def _get_query(region, gaia, mobile, tablet, filters=None, new_idx=False): return Webapp.from_search( region=region, gaia=gaia, mobile=mobile, tablet=tablet, filter_overrides=filters, new_idx=new_idx).facet('category')
def _get_query(request, region, gaia, mobile, tablet, filters=None, new_idx=False): return Webapp.from_search( request, region=region, gaia=gaia, mobile=mobile, tablet=tablet, filter_overrides=filters, new_idx=new_idx)
def _get_query(region, gaia, mobile, tablet, filters=None): return Webapp.from_search(region=region, gaia=gaia, mobile=mobile, tablet=tablet, filter_overrides=filters).facet('category')
def get_query(self, request, region=None): return Webapp.from_search(request, region=region, gaia=request.GAIA, mobile=request.MOBILE, tablet=request.TABLET)