Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
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))