src/hdalab/views/ajax.py
changeset 353 91c44b3fd11f
parent 326 fc8961398609
child 419 469ad9ef43e5
equal deleted inserted replaced
352:205804d9f142 353:91c44b3fd11f
   405         if lang not in no_translate_langs:
   405         if lang not in no_translate_langs:
   406             transqs = DbpediaFieldsTranslation.objects.filter(master__in = dbpediafields.values(), language_code = lang)
   406             transqs = DbpediaFieldsTranslation.objects.filter(master__in = dbpediafields.values(), language_code = lang)
   407             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   407             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   408     
   408     
   409         tags = [{'id': tag.id, 
   409         tags = [{'id': tag.id, 
   410                  'label': tag.label, 
   410                  'label': tag.label,
   411                  'score': tag.nb, 
   411                  'score': tag.nb, 
   412                  'thumbnail': dbpediafields[tag.id].thumbnail, 
   412                  'thumbnail': dbpediafields[tag.id].thumbnail if tag.id in dbpediafields else None,
   413                  'translated_label': translations.get(dbpediafields[tag.id].id, tag.label) if tag.id in dbpediafields else tag.label,
   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]
   414                  'url': tag.dbpedia_uri} for tag in tagqslist]
   415     
   415     
   416         countryqs = countryqs.annotate(nb=Count('includes__tag__taggedsheet'))
   416         countryqs = countryqs.annotate(nb=Count('includes__tag__taggedsheet'))
   417         countries = dict([(country.dbpedia_uri, country.nb) for country in countryqs])
   417         countries = dict([(country.dbpedia_uri, country.nb) for country in countryqs])
   418     
   418     
   419         discqslist = list(discqs.annotate(nb=Count('taggedsheet')).order_by('-nb')[:10])
   419         discqslist = list(discqs.annotate(nb=Count('taggedsheet')).order_by('-nb')[:10])
   420 
   420 
   421         if lang not in no_translate_langs:
   421         if lang not in no_translate_langs:
   422             transqs = DbpediaFieldsTranslation.objects.filter(master__in = [tag.dbpedia_fields for tag in discqslist], language_code = lang)
   422             list_dbpediafields = [tag.dbpedia_fields for tag in discqslist if tag.dbpedia_fields is not None]
       
   423             transqs = DbpediaFieldsTranslation.objects.filter(master__in = list_dbpediafields, language_code = lang)
   423             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   424             translations = dict([(trans.master_id,trans.label) for trans in transqs])
   424         
   425         
   425         disciplines = [{'label':tag.label,'score':tag.nb, 'translated_label': translations.get(tag.dbpedia_fields.id, tag.label) if tag.dbpedia_fields is not None else tag.label} for tag in discqslist]
   426         disciplines = [{'label':tag.label,'score':tag.nb, 'translated_label': translations.get(tag.dbpedia_fields.id, tag.label) if tag.dbpedia_fields is not None else tag.label} for tag in discqslist]
   426         
   427         
   427         years = {}
   428         years = {}