diff options
author | bnewbold <bnewbold@robocracy.org> | 2011-05-02 21:41:28 -0400 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2011-05-02 21:41:28 -0400 |
commit | a8cf5584204d77bd3f234fe579844ca84bb3558d (patch) | |
tree | d45ad752f2d514ff78fb10877565db3e94e5bde1 /piccast/feeds/views.py | |
parent | cb7110e3694bba239f7754f275c071341bba1088 (diff) | |
download | piccast-a8cf5584204d77bd3f234fe579844ca84bb3558d.tar.gz piccast-a8cf5584204d77bd3f234fe579844ca84bb3558d.zip |
basic json keyword search
Diffstat (limited to 'piccast/feeds/views.py')
-rw-r--r-- | piccast/feeds/views.py | 22 |
1 files changed, 22 insertions, 0 deletions
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") + |