26 |
26 |
27 lang = request.GET.get('lang',request.LANGUAGE_CODE) |
27 lang = request.GET.get('lang',request.LANGUAGE_CODE) |
28 labels = request.GET.get('labels',None) |
28 labels = request.GET.get('labels',None) |
29 |
29 |
30 if not labels: |
30 if not labels: |
31 return HttpResponse(content=json.dumps({}), mimetype='application/json') |
31 return HttpResponse(content=json.dumps({}), content_type='application/json') |
32 |
32 |
33 labelslist = [lbl.strip() for lbl in labels.split(",")] |
33 labelslist = [lbl.strip() for lbl in labels.split(",")] |
34 masters = [] |
34 masters = [] |
35 |
35 |
36 for lbl in labelslist: |
36 for lbl in labelslist: |
42 |
42 |
43 translationqs = DbpediaFieldsTranslation.objects.select_related("master", "master__tag").filter(master__in = masters, language_code=lang) |
43 translationqs = DbpediaFieldsTranslation.objects.select_related("master", "master__tag").filter(master__in = masters, language_code=lang) |
44 |
44 |
45 translations = dict([(t.master.label, t.label) for t in translationqs]) |
45 translations = dict([(t.master.label, t.label) for t in translationqs]) |
46 |
46 |
47 return HttpResponse(content=json.dumps(translations), mimetype='application/json') |
47 return HttpResponse(content=json.dumps(translations), content_type='application/json') |
48 |
48 |
49 def subcat(category, globtags, level, max_level ): |
49 def subcat(category, globtags, level, max_level ): |
50 # recursive function used by cattree |
50 # recursive function used by cattree |
51 catlabel = category.label |
51 catlabel = category.label |
52 tags = Tag.objects.filter(wp_categories__wp_category = category).distinct() |
52 tags = Tag.objects.filter(wp_categories__wp_category = category).distinct() |
128 'organization_url': datasheet.organisation.website, |
128 'organization_url': datasheet.organisation.website, |
129 'score': max(dsscore, rootscore) |
129 'score': max(dsscore, rootscore) |
130 }) |
130 }) |
131 cleantags(resobj) |
131 cleantags(resobj) |
132 |
132 |
133 return HttpResponse(content=json.dumps(resobj), mimetype='application/json') |
133 return HttpResponse(content=json.dumps(resobj), content_type='application/json') |
134 |
134 |
135 def sessioninfo(request): |
135 def sessioninfo(request): |
136 |
136 |
137 data = json.loads(request.GET.get('data', "{}")) |
137 data = json.loads(request.GET.get('data', "{}")) |
138 write = False |
138 write = False |
168 |
168 |
169 resobj = {'data': data, "write_allowed" : write, "sessionid": sessionid } |
169 resobj = {'data': data, "write_allowed" : write, "sessionid": sessionid } |
170 if write: |
170 if write: |
171 resobj['sessionkey'] = request.session['sessionkey'] |
171 resobj['sessionkey'] = request.session['sessionkey'] |
172 |
172 |
173 return HttpResponse(content=json.dumps(resobj), mimetype='application/json') |
173 return HttpResponse(content=json.dumps(resobj), content_type='application/json') |
174 |
174 |
175 |
175 |
176 def tagsearch(request): |
176 def tagsearch(request): |
177 |
177 |
178 q = request.GET.get('term',None) |
178 q = request.GET.get('term',None) |
234 resobj['value'] = t.label |
234 resobj['value'] = t.label |
235 resobj['abstract'] = dbfields.abstract if dbfields is not None else None |
235 resobj['abstract'] = dbfields.abstract if dbfields is not None else None |
236 if q is None or resobj['value'].lower().find(lq) != -1: |
236 if q is None or resobj['value'].lower().find(lq) != -1: |
237 res.append(resobj) |
237 res.append(resobj) |
238 |
238 |
239 return HttpResponse(content=json.dumps(res), mimetype='application/json') |
239 return HttpResponse(content=json.dumps(res), content_type='application/json') |
240 |
240 |
241 def catsearch(request): |
241 def catsearch(request): |
242 |
242 |
243 q = request.GET.get('term',None) |
243 q = request.GET.get('term',None) |
244 |
244 |
250 |
250 |
251 qs = WpCategory.objects.annotate(nb=Count('child_categories__child_category__tags')).filter(label__in = labels, nb__gt=0) |
251 qs = WpCategory.objects.annotate(nb=Count('child_categories__child_category__tags')).filter(label__in = labels, nb__gt=0) |
252 |
252 |
253 res = [{'value':t.label} for t in qs] |
253 res = [{'value':t.label} for t in qs] |
254 |
254 |
255 return HttpResponse(content=json.dumps(res), mimetype='application/json') |
255 return HttpResponse(content=json.dumps(res), content_type='application/json') |
256 |
256 |
257 def filter(request): |
257 def filter(request): |
258 |
258 |
259 lang = request.GET.get('lang',request.LANGUAGE_CODE) |
259 lang = request.GET.get('lang',request.LANGUAGE_CODE) |
260 periode = request.GET.get('period',None) |
260 periode = request.GET.get('period',None) |
265 content_count = request.GET.get('contentcount', 8) |
265 content_count = request.GET.get('contentcount', 8) |
266 tag_count = request.GET.get('tagcount', 30) |
266 tag_count = request.GET.get('tagcount', 30) |
267 |
267 |
268 outputstr = filter_generic(lang, periode, label, country, contentlist, max_tag_order, content_count, tag_count) |
268 outputstr = filter_generic(lang, periode, label, country, contentlist, max_tag_order, content_count, tag_count) |
269 |
269 |
270 return HttpResponse(content=outputstr, mimetype='application/json') |
270 return HttpResponse(content=outputstr, content_type='application/json') |
271 |
271 |
272 |
272 |
273 def filter_generic(lang="fr-fr", periode=None, label=None, country=None, contentlist=None, max_tag_order=12, content_count=8, tag_count=30): |
273 def filter_generic(lang="fr-fr", periode=None, label=None, country=None, contentlist=None, max_tag_order=12, content_count=8, tag_count=30): |
274 |
274 |
275 no_translate_langs = [ 'fr' ] |
275 no_translate_langs = [ 'fr' ] |