def _get_data(self): query_parts = [] if self.category_filter: query_parts.append('category:"%s"' % self.category_filter) elif self.license_filter: query_parts.append('license:"%s"' % self.license_filter) elif self.category_filter: query_parts.append('organization:"%s"' % self.organization_filter) elif self.region_filter: query_parts.append('region:"%s"' % self.region_filter) if len(query_parts) > 0: query = ' '.join(query_parts) snapshots = Domain.snapshot_search(query) else: snapshots = Domain.published_snapshots()[:20] return snapshots
def search_snapshots(request, filter_by='', filter='', template="appstore/appstore_base.html"): page = int(request.GET.get('page', 1)) q = request.GET.get('q', '') if filter_by != '': query = "%s:%s %s" % (filter_by, filter, q) else: query = q if query == '': return redirect('appstore') try: snapshots, total_rows = Domain.snapshot_search(query, page=page, per_page=PER_PAGE) except RequestFailed: notify_exception(request, "Domain snapshot_search RequestFailed") messages.error(request, "Oops! Our search backend is experiencing problems. Please try again later.") return redirect('appstore') else: more_pages = page * PER_PAGE < total_rows vals = dict(apps=snapshots, search_query=query, page=page, prev_page=(page-1), next_page=(page+1), more_pages=more_pages) return render_to_response(request, template, _appstore_context(vals))