def deployments(request, template="appstore/deployments.html"): params, _ = parse_args_for_es(request) params = dict([(DEPLOYMENT_MAPPING.get(p, p), params[p]) for p in params]) page = int(params.pop('page', 1)) results = es_deployments_query(params, DEPLOYMENT_FACETS) d_results = [ Domain.wrap(res['_source']) for res in results['hits']['hits'] ] more_pages = False if len(d_results) <= page * 10 else True facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, params) include_unapproved = True if request.GET.get('is_approved', "") == "false" else False vals = { 'deployments': d_results[(page - 1) * 10:page * 10], 'page': page, 'prev_page': page - 1, 'next_page': (page + 1), 'more_pages': more_pages, 'include_unapproved': include_unapproved, 'facet_map': facet_map, 'query_str': request.META['QUERY_STRING'], 'search_url': reverse('deployments'), 'search_query': params.get('search', [""])[0] } return render(request, template, vals)
def run_query(self, size=None): self.es_params, _ = parse_args_for_es(self.request, prefix=self.es_prefix) results = self.es_query(self.es_params, size) self.es_facet_map = fill_mapping_with_facets(self.es_facet_mapping, results, self.es_params) self.es_response = results self.es_queried = True return self.es_response
def page_context(self): return { 'apps': self.selected_snapshots, 'page': self.page, 'prev_page': (self.page - 1), 'next_page': (self.page + 1), 'more_pages': False if self.total_results <= self.page * self.page_length else True, 'sort_by': self.sort_by, 'show_starter_apps': self.starter_apps, 'include_unapproved': self.include_unapproved, 'facet_map': fill_mapping_with_facets(SNAPSHOT_MAPPING, self.results, self.params), 'facets': self.results.get("facets", []), 'query_str': self.request.META['QUERY_STRING'], 'search_query': self.params.get('search', [""])[0], 'persistent_params': self.persistent_params, }
def page_context(self): results = es_deployments_query({}, DEPLOYMENT_FACETS) facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, {}) return { 'domain': self.project, 'search_url': reverse(DeploymentsView.urlname), 'url_base': reverse(DeploymentsView.urlname), 'facet_map': facet_map, }
def appstore(request, template="appstore/appstore_base.html"): page_length = 10 include_unapproved = True if request.GET.get('is_approved', "") == "false" else False if include_unapproved and not request.user.is_superuser: raise Http404() params, _ = parse_args_for_es(request) page = params.pop('page', 1) page = int(page[0] if isinstance(page, list) else page) results = es_snapshot_query(params, SNAPSHOT_FACETS) hits = results.get('hits', {}).get('hits', []) hits = deduplicate(hits) d_results = [Domain.wrap(res['_source']) for res in hits] sort_by = request.GET.get('sort_by', None) if sort_by == 'best': d_results = Domain.popular_sort(d_results) elif sort_by == 'newest': pass else: d_results = Domain.hit_sort(d_results) persistent_params = {} if sort_by: persistent_params["sort_by"] = sort_by if include_unapproved: persistent_params["is_approved"] = "false" persistent_params = urlencode( persistent_params) # json.dumps(persistent_params) average_ratings = list() for result in d_results: average_ratings.append([ result.name, Review.get_average_rating_by_app(result.copied_from._id) ]) more_pages = False if len(d_results) <= page * page_length else True facet_map = fill_mapping_with_facets(SNAPSHOT_MAPPING, results, params) vals = dict( apps=d_results[(page - 1) * page_length:page * page_length], page=page, prev_page=(page - 1), next_page=(page + 1), more_pages=more_pages, sort_by=sort_by, average_ratings=average_ratings, include_unapproved=include_unapproved, facet_map=facet_map, facets=results.get("facets", []), query_str=request.META['QUERY_STRING'], search_query=params.get('search', [""])[0], persistent_params=persistent_params, ) return render(request, template, vals)
def appstore(request, template="appstore/appstore_base.html"): page_length = 10 include_unapproved = True if request.GET.get('is_approved', "") == "false" else False if include_unapproved and not request.user.is_superuser: raise Http404() params, _ = parse_args_for_es(request) page = params.pop('page', 1) page = int(page[0] if isinstance(page, list) else page) results = es_snapshot_query(params, SNAPSHOT_FACETS) hits = results.get('hits', {}).get('hits', []) hits = deduplicate(hits) d_results = [Domain.wrap(res['_source']) for res in hits] sort_by = request.GET.get('sort_by', None) if sort_by == 'best': d_results = Domain.popular_sort(d_results) elif sort_by == 'newest': pass else: d_results = Domain.hit_sort(d_results) persistent_params = {} if sort_by: persistent_params["sort_by"] = sort_by if include_unapproved: persistent_params["is_approved"] = "false" persistent_params = urlencode(persistent_params) # json.dumps(persistent_params) average_ratings = list() for result in d_results: average_ratings.append([result.name, Review.get_average_rating_by_app(result.copied_from._id)]) more_pages = False if len(d_results) <= page*page_length else True facet_map = fill_mapping_with_facets(SNAPSHOT_MAPPING, results, params) vals = dict( apps=d_results[(page-1)*page_length:page*page_length], page=page, prev_page=(page-1), next_page=(page+1), more_pages=more_pages, sort_by=sort_by, average_ratings=average_ratings, include_unapproved=include_unapproved, facet_map=facet_map, facets=results.get("facets", []), query_str=request.META['QUERY_STRING'], search_query=params.get('search', [""])[0], persistent_params=persistent_params, ) return render(request, template, vals)
def deployment_info(request, domain, template="appstore/deployment_info.html"): dom = Domain.get_by_name(domain) if not dom or not dom.deployment.public: raise Http404() # get facets results = es_deployments_query({}, DEPLOYMENT_FACETS) facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, {}) return render(request, template, { 'domain': dom, 'search_url': reverse('deployments'), 'url_base': reverse('deployments'), 'facet_map': facet_map, })
def deployment_info(request, domain, template="appstore/deployment_info.html"): dom = Domain.get_by_name(domain) if not dom or not dom.deployment.public: raise Http404() # get facets results = es_deployments_query({}, DEPLOYMENT_FACETS) facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, {}) return render( request, template, { 'domain': dom, 'search_url': reverse('deployments'), 'url_base': reverse('deployments'), 'facet_map': facet_map, })
def page_context(self): more_pages = False if len(self.d_results) <= self.page * self.projects_per_page else True facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, self.results, self.params) include_unapproved = True if self.request.GET.get('is_approved', "") == "false" else False deployments = self.d_results[(self.page - 1) * self.projects_per_page:self.page * self.projects_per_page] return { 'deployments': deployments, 'page': self.page, 'prev_page': self.page - 1, 'next_page': (self.page + 1), 'more_pages': more_pages, 'include_unapproved': include_unapproved, 'facet_map': facet_map, 'query_str': self.request.META['QUERY_STRING'], 'search_url': reverse(self.urlname), 'search_query': self.params.get('search', [""])[0] }
def deployments(request, template="appstore/deployments.html"): params, _ = parse_args_for_es(request) params = dict([(DEPLOYMENT_MAPPING.get(p, p), params[p]) for p in params]) page = int(params.pop('page', 1)) results = es_deployments_query(params, DEPLOYMENT_FACETS) d_results = [Domain.wrap(res['_source']) for res in results['hits']['hits']] more_pages = False if len(d_results) <= page * 10 else True facet_map = fill_mapping_with_facets(DEPLOYMENT_MAPPING, results, params) include_unapproved = True if request.GET.get('is_approved', "") == "false" else False vals = {'deployments': d_results[(page - 1) * 10:page * 10], 'page': page, 'prev_page': page - 1, 'next_page': (page + 1), 'more_pages': more_pages, 'include_unapproved': include_unapproved, 'facet_map': facet_map, 'query_str': request.META['QUERY_STRING'], 'search_url': reverse('deployments'), 'search_query': params.get('search', [""])[0]} return render(request, template, vals)
def appstore(request, template="appstore/appstore_base.html"): page_length = 10 include_unapproved = True if request.GET.get('is_approved', "") == "false" else False if include_unapproved and not request.user.is_superuser: raise Http404() params, _ = parse_args_for_es(request) page = params.pop('page', 1) page = int(page[0] if isinstance(page, list) else page) results = es_snapshot_query(params, SNAPSHOT_FACETS) hits = results.get('hits', {}).get('hits', []) hits = deduplicate(hits) d_results = [] for res in hits: try: domain = Domain.wrap(res['_source']) if domain.copied_from is not None: # this avoids putting in snapshots in the list where the # copied_from domain has been deleted. d_results.append(domain) except CopiedFromDeletedException as e: notify_exception( request, message=( "Fetched Exchange Snapshot Error: {}. " "The problem snapshot id: {}".format( e.message, res['_source']['_id']) ) ) starter_apps = request.GET.get('is_starter_app', None) sort_by = request.GET.get('sort_by', None) if sort_by == 'newest': pass else: d_results = Domain.hit_sort(d_results) persistent_params = {} if sort_by: persistent_params["sort_by"] = sort_by if include_unapproved: persistent_params["is_approved"] = "false" persistent_params = urlencode(persistent_params) # json.dumps(persistent_params) more_pages = False if len(d_results) <= page * page_length else True facet_map = fill_mapping_with_facets(SNAPSHOT_MAPPING, results, params) vals = dict( apps=d_results[(page - 1) * page_length:page * page_length], page=page, prev_page=(page - 1), next_page=(page + 1), more_pages=more_pages, sort_by=sort_by, show_starter_apps=starter_apps, include_unapproved=include_unapproved, facet_map=facet_map, facets=results.get("facets", []), query_str=request.META['QUERY_STRING'], search_query=params.get('search', [""])[0], persistent_params=persistent_params, ) return render(request, template, vals)