Exemplo n.º 1
0
def suggestions(request):
    """A simple search view that returns OpenSearch suggestions."""
    mimetype = 'application/x-suggestions+json'

    term = request.GET.get('q')
    if not term:
        return HttpResponseBadRequest(mimetype=mimetype)

    site = Site.objects.get_current()
    locale = locale_or_default(request.locale)
    results = list(chain(
            wiki_search.filter(locale=locale).query(term)[:5],
            question_search.filter(has_helpful=True).query(term)[:5]))
    # Assumption: wiki_search sets filter(is_archived=False).

    urlize = lambda obj: u'https://%s%s' % (site, obj.get_absolute_url())
    data = [term, [r.title for r in results], [], [urlize(r) for r in results]]
    return HttpResponse(json.dumps(data), mimetype=mimetype)
Exemplo n.º 2
0
 def test_range_filter(self):
     """Test filtering on a range."""
     results = wiki_search.filter(updated__gte=1284664176,
                                  updated__lte=1285765791)
     eq_(2, len(results))
Exemplo n.º 3
0
 def test_category(self):
     results = wiki_search.filter(category__in=[10])
     eq_(5, len(results))
     results = wiki_search.filter(category__in=[30])
     eq_(1, len(results))