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 = {} |