# HG changeset patch # User cavaliet # Date 1363195657 -3600 # Node ID 9ee9e769ea11994ee783b822e725ffaf82666671 # Parent da5504ff262e1c487d1bf5c9e9b75510d2a7dbd0 senseetive api first success diff -r da5504ff262e -r 9ee9e769ea11 src/egonomy/views.py --- a/src/egonomy/views.py Tue Mar 12 18:23:44 2013 +0100 +++ b/src/egonomy/views.py Wed Mar 13 18:27:37 2013 +0100 @@ -233,14 +233,13 @@ frg.coordinates = frg_path # We build the svg xml file = os.path.join(settings.MEDIA_ROOT, str(img.info.image_file)) - logger.debug(file) - svg = '\n\ + svg = '\n\ \n\ \n\ \n\ \n\ \n\ - \n\ + \n\ \n\ ' # We save the svg file @@ -269,57 +268,32 @@ else: return HttpResponseForbidden("Failed to connect to Senseetive API (1)") -# #We create the query -# params = { -# "xaction":"queries.create", -# "xsessionid":session_id, -# "query":"SELECT img._id FROM contentimages as img, requests as req WHERE img.desc1 cmp1 (file) req.image0", -# } -# req = requests.get(url=settings.SENSEETIVE_API_URL, params=params, verify=False) -# return HttpResponse("session_id = " + session_id + ", req 0 .text = " + str(req.text)) - - # We create the request and load the picture (ex queryid:50d0574a03000043102a5177, requestid:513f474c39b37bfa5b299a31) - params = { - 'image0':b64encode(open(os.path.join(settings.BATIK_RASTERIZER_TEMP_FOLDER, uid + '.png'), 'rb').read()), - "xaction":"requests.create", - "xsessionid":session_id, - "queryid":"", - "contentimageid":"", - "requestid":"513f474c39b37bfa5b299a31", - "requestfieldname":"image0" + # We create the contents.read request and load the picture + # (queryid 50d0574a03000043102a5177 for AS algorythm, + # 50d0574a0300000f102a5177 pigment) + # 50d0574a03000021102a5177 Gabor + files = { + 'image0':open(os.path.join(settings.BATIK_RASTERIZER_TEMP_FOLDER, uid + '.png'), 'rb').read(), } - req = requests.post(url=settings.SENSEETIVE_API_URL, data=params, verify=False) - resp = req.json() - if "id" in resp: - request_id = resp["id"] - else: - return HttpResponseForbidden("Failed to connect to Senseetive API (2)") - -# # We read the request -# params = { -# "xaction":"requests.read", -# "xsessionid":session_id, -# "id":request_id -# } -# req = requests.post(url=settings.SENSEETIVE_API_URL, data=params, verify=False) -# return HttpResponse("session_id = " + session_id + ", req 2 .text = " + str(req.text)) - - # We read the contents params = { "xaction":"contents.read", "xsessionid":session_id, - "requestid":request_id, - #"requestfieldname":"image0", + "queryid":"50d0574a03000043102a5177", + "_order_by_":"score", + "_row_first_":"0", + "_row_last_":"10", + "requestfieldname":"image0" } - req = requests.get(url=settings.SENSEETIVE_API_URL, params=params, verify=False) + + req = requests.post(url=settings.SENSEETIVE_API_URL, data=params, files=files, verify=False) + #logger.debug(req.text) resp = req.json() if "contentlist" not in resp: - return HttpResponseForbidden("Failed to connect to Senseetive API (3)") + return HttpResponseForbidden("Failed to connect to Senseetive API (3) : " + str(resp)) contents = resp["contentlist"] keywords = [] for c in contents: keywords += c["keywordlist"] - #return HttpResponse("session_id = " + session_id + ", req 3 .text = " + str(len(contents)) + " found") - #return HttpResponse("session_id = " + session_id + ", req 3 .text = " + req.text) + return HttpResponse(json.dumps(sorted(set(keywords))))