Пример #1
0
    def get(self, request):
        q = request.GET.get('term', '')

        if request.is_ajax():
            page = request.GET.get('page', None)
            sqs = search_public_channels(q)

            return HttpResponse(json.dumps([dict(name=q.name, image=q.image, kind=q.kind) for q in sqs]),
                                content_type="application/json")
        else:
            channels = []
            if q:
                channels = search_public_channels(q)
            else:

                channels = get_suggested_channels()
            return render_to_response('search.html',
                                      {
                                          'suggested': channels,
                                      },
                                      context_instance=RequestContext(request)
            )

        return HttpResponse()
Пример #2
0
    def get(self, request, *args, **kwargs):
        q = request.QUERY_PARAMS.get('q', '')

        # sqs = SearchQuerySet().models(Channel).filter(content=Clean(q))
        sqs = search_public_channels(q)
        paginator = Paginator(sqs, 50)

        page = request.QUERY_PARAMS.get('page')
        if not page:
            page = 1
        try:
            channels = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page
            channels = paginator.page(1)
        except PageNotAnInteger:
            # If page is out of range, deliver last page
            channels = paginator.page(paginator.num_pages)

        serializer_context = {'request': request}
        serializer = PaginatedChannelSerializer(channels, context=serializer_context)
        return Response(serializer.data)
Пример #3
0
    def get(self, request, *args, **kwargs):
        q = request.QUERY_PARAMS.get('q', '')

        # sqs = SearchQuerySet().models(Channel).filter(content=Clean(q))
        sqs = search_public_channels(q)
        paginator = Paginator(sqs, 50)

        page = request.QUERY_PARAMS.get('page')
        if not page:
            page = 1
        try:
            channels = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page
            channels = paginator.page(1)
        except PageNotAnInteger:
            # If page is out of range, deliver last page
            channels = paginator.page(paginator.num_pages)

        serializer_context = {'request': request}
        serializer = PaginatedChannelSerializer(channels,
                                                context=serializer_context)
        return Response(serializer.data)