--- 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))))
+
+
+