src/hdalab/views/ajax.py
changeset 326 fc8961398609
parent 324 573043a98b44
child 353 91c44b3fd11f
equal deleted inserted replaced
325:d58ab6429d5a 326:fc8961398609
   372             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   372             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   373         
   373         
   374         for ts in qs:
   374         for ts in qs:
   375             if hasattr(ts, 'tag') and hasattr(ts.tag, 'dbpedia_fields') :
   375             if hasattr(ts, 'tag') and hasattr(ts.tag, 'dbpedia_fields') :
   376                 match_tag = ts.tag.id in matchtagids
   376                 match_tag = ts.tag.id in matchtagids
   377                 contenus[ts.datasheet_id]['tags'].append({'id': ts.tag.id, 'label':ts.tag.label, 'order':ts.order, 'match': match_tag , 'translated_label': translations.get(ts.tag.dbpedia_fields.id, ts.tag.label) if ts.tag.dbpedia_fields is not None else ts.tag.label})
   377                 contenus[ts.datasheet_id]['tags'].append({'id': ts.tag.id, 
       
   378                                                           'label': ts.tag.label, 
       
   379                                                           'order': ts.order, 
       
   380                                                           'match': match_tag, 
       
   381                                                           'translated_label': translations.get(ts.tag.dbpedia_fields.id, ts.tag.label) if ts.tag.dbpedia_fields is not None else ts.tag.label,
       
   382                                                           'url': ts.tag.dbpedia_uri})
   378                 
   383                 
   379                 if match_tag:
   384                 if match_tag:
   380                     contenus[ts.datasheet_id]['score'] += 2*max_tag_order - ts.order
   385                     contenus[ts.datasheet_id]['score'] += 2*max_tag_order - ts.order
   381             
   386             
   382         if contentlist is None:
   387         if contentlist is None:
   399 
   404 
   400         if lang not in no_translate_langs:
   405         if lang not in no_translate_langs:
   401             transqs = DbpediaFieldsTranslation.objects.filter(master__in = dbpediafields.values(), language_code = lang)
   406             transqs = DbpediaFieldsTranslation.objects.filter(master__in = dbpediafields.values(), language_code = lang)
   402             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   407             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   403     
   408     
   404         tags = [{'id': tag.id, 'label': tag.label, 'score': tag.nb, 'thumbnail': dbpediafields[tag.id].thumbnail, 'translated_label': translations.get(dbpediafields[tag.id].id, tag.label) if tag.id in dbpediafields else tag.label} for tag in tagqslist]
   409         tags = [{'id': tag.id, 
       
   410                  'label': tag.label, 
       
   411                  'score': tag.nb, 
       
   412                  'thumbnail': dbpediafields[tag.id].thumbnail, 
       
   413                  'translated_label': translations.get(dbpediafields[tag.id].id, tag.label) if tag.id in dbpediafields else tag.label,
       
   414                  'url': tag.dbpedia_uri} for tag in tagqslist]
   405     
   415     
   406         countryqs = countryqs.annotate(nb=Count('includes__tag__taggedsheet'))
   416         countryqs = countryqs.annotate(nb=Count('includes__tag__taggedsheet'))
   407         countries = dict([(country.dbpedia_uri, country.nb) for country in countryqs])
   417         countries = dict([(country.dbpedia_uri, country.nb) for country in countryqs])
   408     
   418     
   409         discqslist = list(discqs.annotate(nb=Count('taggedsheet')).order_by('-nb')[:10])
   419         discqslist = list(discqs.annotate(nb=Count('taggedsheet')).order_by('-nb')[:10])