src/hdalab/views/ajax.py
changeset 545 c752fdee555b
parent 445 a74ec9e02042
child 603 979d9263c1c6
equal deleted inserted replaced
544:ed812f1f7592 545:c752fdee555b
    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' ]
   488     
   488     
   489     treeobj = json.loads(tree)
   489     treeobj = json.loads(tree)
   490     
   490     
   491     res = subtree(treeobj)
   491     res = subtree(treeobj)
   492         
   492         
   493     return HttpResponse(content=json.dumps(res), mimetype='application/json')
   493     return HttpResponse(content=json.dumps(res), content_type='application/json')