src/core/import_processor.py
changeset 33 61c3ffd94f11
parent 28 5918a9d353d0
child 34 b1fd0e0197c8
--- a/src/core/import_processor.py	Mon Jun 24 09:21:38 2013 +0200
+++ b/src/core/import_processor.py	Tue Jun 25 00:00:03 2013 +0200
@@ -4,8 +4,7 @@
 
 @author: ymh
 '''
-from .models import Term
-from .rdf_models import graph
+from .models import TermLabel
 from dateutil import parser
 import re
 
@@ -49,12 +48,16 @@
         self.notice_term_klass = notice_term_klass
     
     def build_notice_term(self, token, obj):
-        uri = graph.get_uri_for_term(token, context=self.context)
-        if not uri:
-            return None
-        term_obj = Term.objects.get(uri=uri)
-        if not self.notice_term_klass.objects.filter(notice=obj,term=term_obj).exists():
-            return self.notice_term_klass(notice=obj,term=term_obj)            
+        
+        termlabels = list(TermLabel.objects.filter(label=token, term__thesaurus__uri=self.context).select_related())
+        if termlabels:
+            term_obj = termlabels[0].term
+            if not self.notice_term_klass.objects.filter(notice=obj,term=term_obj).exists():
+                return self.notice_term_klass(notice=obj,term=term_obj)
+            else:
+                return None
+        else:
+            return None            
 
     def process(self, obj, value):
         res = {}