src/egonomy/views.py
changeset 85 4d320fbfc550
parent 84 b2fbd34b259c
child 86 5e1eb389036a
--- a/src/egonomy/views.py	Mon Mar 04 15:29:30 2013 +0100
+++ b/src/egonomy/views.py	Mon Mar 04 17:40:57 2013 +0100
@@ -4,7 +4,7 @@
 from django.core.paginator import Paginator, InvalidPage, EmptyPage
 from django.core.urlresolvers import reverse
 from django.db.models.aggregates import Max
-from django.http.response import HttpResponseForbidden
+from django.http.response import HttpResponseForbidden, HttpResponse
 from django.shortcuts import get_object_or_404, render_to_response, redirect
 from django.template import RequestContext
 from django.utils.translation import ugettext as _
@@ -13,8 +13,9 @@
 from egonomy.search_indexes.paginator import SearchPaginator
 from egonomy.search_indexes.query import ModelRelatedSearchQuerySet
 from haystack.query import RelatedSearchQuerySet
+import json
+
 import logging
-
 logger = logging.getLogger(__name__)
 
 
@@ -213,3 +214,26 @@
 
 
 
+def senseetive_api(request):
+        
+    # Get the cur_page_nb number parameter if possible
+    image_id = request.GET.get("image") or None
+    frg_path = request.GET.get("path") or "MZ"
+    if not image_id or frg_path=="MZ":
+        return HttpResponseForbidden("The request needs an image and a not null path parameters.")
+    # This is a TEMPORARY algorithm. In the future, this function build a picture from the fragment and will request the senseetive api 
+    img = get_object_or_404(Image.objects.select_related('info', 'metadata'), id=image_id)
+    frg_list = Fragment.objects.filter(image=img)
+    tag_list = []
+    for frg in frg_list:
+        tags = frg.tags.split(",")
+        for t in tags:
+            t = t.strip()
+            if t != "":
+                logger.debug(t)
+                tag_list.append(t)
+    
+    return HttpResponse(json.dumps(sorted(set(tag_list))))
+
+
+