From a8cf5584204d77bd3f234fe579844ca84bb3558d Mon Sep 17 00:00:00 2001 From: bnewbold Date: Mon, 2 May 2011 21:41:28 -0400 Subject: basic json keyword search --- piccast/feeds/views.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'piccast/feeds/views.py') diff --git a/piccast/feeds/views.py b/piccast/feeds/views.py index 1c26d12..d434818 100644 --- a/piccast/feeds/views.py +++ b/piccast/feeds/views.py @@ -35,3 +35,25 @@ def pics_by_set(request, req_picset): pics = Pic.objects.filter(set=req_picset).order_by('id') return HttpResponse(json.dumps({'list':[p.serializable() for p in pics]}, indent=2), mimetype="application/json") +def json_search(request): + query_string = '' + found_feeds = [] + found_picsets = [] + found_pics = [] + query_keywords = [] + if ('q' in request.GET) and request.GET['q'].strip(): + query_string = request.GET['q'] + feed_query = get_query(query_string, ['title', 'description',]) + picset_query = get_query(query_string, ['title', 'description','keywords']) + pic_query = get_query(query_string, ['title', 'description','keywords']) + found_feeds = PicFeed.objects.filter(feed_query).order_by('-created')[:6] + found_picsets = PicSet.objects.filter(picset_query).order_by('-created')[:6] + found_pics = PicSet.objects.filter(pic_query).order_by('-created')[:6] + query_keywords = normalize_query(query_string) + + return HttpResponse(json.dumps({'matching_feeds':[feed.serializable() for feed in found_feeds], + 'matching_picsets':[picset.serializable() for picset in found_picsets], + 'matching_pics':[pic.serializable() for pic in found_pics], + 'query_keywords':query_keywords, + }, indent=2), mimetype="application/json") + -- cgit v1.2.3