--- a/src/hdalab/views/profile.py Wed Feb 18 16:22:38 2015 +0100
+++ b/src/hdalab/views/profile.py Thu Feb 19 02:43:46 2015 +0100
@@ -256,19 +256,23 @@
translations = {}
if lang not in no_translate_langs:
transqs = DbpediaFieldsTranslation.objects.filter(master__in = [ot.tag.dbpedia_fields if hasattr(ot.tag, 'dbpedia_fields') and ot.tag.dbpedia_fields else None for ot in ordered_tags], language_code = lang)
- translations = dict([(trans.master_id,trans.label) for trans in transqs])
+ translations = dict([(trans.master_id,trans) for trans in transqs])
for ot in ordered_tags:
t = ot.tag
img_url = t.dbpedia_fields.thumbnail if hasattr(t, 'dbpedia_fields') and t.dbpedia_fields and t.dbpedia_fields.thumbnail else None
if img_url is None and t.category is not None:
img_url = cat_dict[t.category.label]
-
+ translation_obj = translations.get(t.dbpedia_fields.id, None) if t.dbpedia_fields else None
+ translation = {
+ 'label': translation_obj.label if translation_obj and translation_obj.label else t.label,
+ 'abstract': translation_obj.abstract if translation_obj and translation_obj.abstract else '',
+ }
content["nodes"].append({
"id": unicode(uuid.uuid1()),
- "title": translations.get(t.dbpedia_fields.id, t.label) if hasattr(t, 'dbpedia_fields') and t.dbpedia_fields else t.label,
- "description": t.dbpedia_uri,
- "uri": "",
+ "title": translation['label'],
+ "description": translation['abstract'],
+ "uri": t.wikipedia_url,
"position": np.get_place("tags"),
"image": img_url,
"size": 0,
@@ -319,7 +323,7 @@
translations = {}
if lang not in no_translate_langs:
transqs = DbpediaFieldsTranslation.objects.filter(master__in = [t.dbpedia_fields if hasattr(t, 'dbpedia_fields') and t.dbpedia_fields else None for t in all_tags], language_code = lang)
- translations = dict([(trans.master_id,trans.label) for trans in transqs])
+ translations = dict([(trans.master_id,trans) for trans in transqs])
# Prepare Node placer :
np = CircleNodePlacer()
@@ -329,6 +333,7 @@
np = LineNodePlacer()
np.init({"datasheet": (1, len(notices)), "tags": (2, len(all_tags))})
+
# Place notices
for n in notices:
@@ -349,13 +354,19 @@
# Place tags
for t in all_tags:
img_url = t.dbpedia_fields.thumbnail if hasattr(t, 'dbpedia_fields') and t.dbpedia_fields and t.dbpedia_fields.thumbnail else None
+ translation_obj = translations.get(t.dbpedia_fields.id, None) if t.dbpedia_fields else None
+ translation = {
+ 'label': translation_obj.label if translation_obj and translation_obj.label else t.label,
+ 'abstract': translation_obj.abstract if translation_obj and translation_obj.abstract else '',
+ }
+
if img_url is None and t.category is not None:
img_url = cat_dict[t.category.label]
content["nodes"].append({
"id": tag_uuid_dict[t.pk],
- "title": translations.get(t.dbpedia_fields.id, t.label) if hasattr(t, 'dbpedia_fields') and t.dbpedia_fields else t.label,
- "description": "",
- "uri": t.dbpedia_uri,
+ "title": translation['label'],
+ "description": translation['abstract'],
+ "uri": t.wikipedia_url,
"position": np.get_place("tags"),
"image": img_url,
"size": 0,
@@ -409,7 +420,7 @@
content["bins"] = {
"type": "ResourceList",
- "title": "Plus de Ressources",
+ "title": _("Plus de Ressources"), #TODO: Translate
"list": filter_output_to_bin["contents"]
}
@@ -430,7 +441,7 @@
for tt in filter_output["tags"]:
if tt["label"]==t["label"]:
thumbnail_url = tt["thumbnail"]
- related_tags.append({"label": t["label"], "thumbnail":thumbnail_url, "id":t["id"], "url":t["url"]})
+ related_tags.append({"label": t["label"], "thumbnail":thumbnail_url, "id":t["id"], "url":t["url"], 'wkpd_url': t['wkpd_url']})
all_labels.append(t["label"])
related_tags_dict[c["id"]].append(t["id"])
@@ -463,16 +474,29 @@
len_tags += 1
np.init({"tags": (1, len_tags), "datasheet": (2, len(filter_output["contents"])), "related": (3, len(related_tags)), "northwest":(3 if shape=="circle" else 1, 1)})
+ #get tag abstract and label translations
+
+ tags_id = [t.id for t in all_tags] + [t['id'] for t in related_tags]
+ translations = {}
+ transqs = DbpediaFieldsTranslation.objects.filter(master__tag__in = tags_id, language_code = lang)
+ translations = dict([(trans.master.tag.id,trans) for trans in transqs])
+
+
for t in all_tags:
img_url = t.dbpedia_fields.thumbnail if hasattr(t, 'dbpedia_fields') and t.dbpedia_fields and t.dbpedia_fields.thumbnail else None
if img_url is None and t.category is not None:
img_url = cat_dict[t.category.label]
+ translation_obj = translations.get(t.id, None)
+ translation = {
+ 'label': filter_output["tagtranslations"][t.label] if t.label in filter_output["tagtranslations"] else t.label,
+ 'abstract': translation_obj.abstract if translation_obj else ""
+ }
content["nodes"].append({
"id": unicode(uuid.uuid1()),
- "title": filter_output["tagtranslations"][t.label] if t.label in filter_output["tagtranslations"] else t.label,
- "description": t.dbpedia_uri,
- "uri": t.dbpedia_uri,
+ "title": translation['label'],
+ "description": translation['abstract'],
+ "uri": t.wikipedia_url,
"position": np.get_place("tags"),
"image": img_url,
"size": 0,
@@ -512,11 +536,17 @@
})
for t in related_tags:
+ translation_obj = translations.get(t['id'], None)
+ translation = {
+ 'label': filter_output["tagtranslations"][t["label"]],
+ 'abstract': translation_obj.abstract if translation_obj else ""
+ }
+
content["nodes"].append({
"id": t["id"],
- "title": filter_output["tagtranslations"][t["label"]],
- "description": "",
- "uri": t["url"],
+ "title": translation['label'],
+ "description": translation['abstract'],
+ "uri": t["wkpd_url"],
"position": np.get_place("related"),
"image": t["thumbnail"],
"size": 0,