--- a/src/hdalab/views/ajax.py Thu Jun 19 12:47:41 2014 +0200
+++ b/src/hdalab/views/ajax.py Fri Jun 20 13:10:39 2014 +0200
@@ -19,6 +19,9 @@
import itertools
import uuid
+import logging
+logger = logging.getLogger(__name__)
+
def tagtranslation(request):
lang = request.GET.get('lang',request.LANGUAGE_CODE)
@@ -350,16 +353,22 @@
translations = {}
+ logger.debug("ICI 0")
if lang not in no_translate_langs:
- transqs = DbpediaFieldsTranslation.objects.filter(master__in = [ts.tag.dbpedia_fields for ts in qs], language_code = lang)
+ ts_list = []
+ for ts in qs:
+ if hasattr(ts, 'tag') and hasattr(ts.tag, 'dbpedia_fields') :
+ ts_list.append(ts.tag.dbpedia_fields)
+ transqs = DbpediaFieldsTranslation.objects.filter(master__in = ts_list, language_code = lang)
translations = dict([(trans.master_id,trans.label) for trans in transqs])
for ts in qs:
- match_tag = ts.tag.id in matchtagids
- 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})
-
- if match_tag:
- contenus[ts.datasheet_id]['score'] += 2*max_tag_order - ts.order
+ if hasattr(ts, 'tag') and hasattr(ts.tag, 'dbpedia_fields') :
+ match_tag = ts.tag.id in matchtagids
+ 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})
+
+ if match_tag:
+ contenus[ts.datasheet_id]['score'] += 2*max_tag_order - ts.order
if contentlist is None:
contenus = sorted(contenus.values(),key=lambda e: -e['score'])