Esempio n. 1
0
 def items(self, search):
     form = VideoSearchForm({'q': search})
     if not form.is_valid():
         raise FeedDoesNotExist(search)
     results = form.search()
     if self.request.GET.get('sort', None) == 'latest':
         videos = models.Video.objects.new(
             site=self.sitelocation.site,
             status=models.VIDEO_STATUS_ACTIVE,
             pk__in=[result.pk for result in results if result])
         return self.slice_items(videos)
     return [result.object for result in self.slice_items(results)
             if result.object]
Esempio n. 2
0
 def items(self, search):
     form = VideoSearchForm({'q': search})
     if not form.is_valid():
         raise FeedDoesNotExist(search)
     results = form.search()
     if self.request.GET.get('sort', None) == 'latest':
         videos = models.Video.objects.new(
             site=self.sitelocation.site,
             status=models.VIDEO_STATUS_ACTIVE,
             pk__in=[result.pk for result in results if result])
         return self.slice_items(videos)
     return [
         result.object for result in self.slice_items(results)
         if result.object
     ]
Esempio n. 3
0
def video_search(request, count=None, sort=None):
    count = count_or_default(count)

    query = ''
    pks = []

    if 'query' in request.GET and 'q' not in request.GET:
        # old-style templates
        GET = request.GET.copy()
        GET['q'] = GET['query']
        request.GET = GET

    if request.GET.get('q'):
        form = VideoSearchForm(request.GET)

        if form.is_valid():
            query = form.cleaned_data['q']
            results = form.search()
            pks = [result.pk for result in results if result is not None]

    if not pks:
        queryset = models.Video.objects.none()
    elif sort == 'latest':
        queryset = models.Video.objects.new(site=request.sitelocation.site,
                                            status=models.VIDEO_STATUS_ACTIVE,
                                            pk__in=pks)
    else:
        queryset = models.Video.objects.filter(
            site=request.sitelocation.site,
            status=models.VIDEO_STATUS_ACTIVE,
            pk__in=pks).order_by()
        order = ['-localtv_video.id = %i' % int(pk) for pk in pks]
        queryset = queryset.extra(order_by=order)
    return object_list(request=request,
                       queryset=queryset,
                       paginate_by=count,
                       template_name='localtv/video_listing_search.html',
                       allow_empty=True,
                       template_object_name='video',
                       extra_context={'query': query})
Esempio n. 4
0
def video_search(request, count=None, sort=None):
    count = count_or_default(count)

    query = ''
    pks = []

    if 'query' in request.GET and 'q' not in request.GET:
        # old-style templates
        GET = request.GET.copy()
        GET['q'] = GET['query']
        request.GET = GET

    if request.GET.get('q'):
        form = VideoSearchForm(request.GET)

        if form.is_valid():
            query = form.cleaned_data['q']
            results = form.search()
            pks = [result.pk for result in results if result is not None]

    if not pks:
        queryset = models.Video.objects.none()
    elif sort == 'latest':
        queryset = models.Video.objects.new(
            site=request.sitelocation.site,
            status=models.VIDEO_STATUS_ACTIVE,
            pk__in=pks)
    else:
        queryset = models.Video.objects.filter(
                site=request.sitelocation.site,
                status=models.VIDEO_STATUS_ACTIVE,
                pk__in=pks).order_by()
        order = ['-localtv_video.id = %i' % int(pk) for pk in pks]
        queryset = queryset.extra(order_by=order)
    return object_list(
        request=request, queryset=queryset,
        paginate_by=count,
        template_name='localtv/video_listing_search.html',
        allow_empty=True, template_object_name='video',
        extra_context={'query': query})