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]
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 ]
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})
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})