]> git.parisson.com Git - telemeta.git/commitdiff
Revision of location for indexing
authorKaltar5679 <killian.mary@outlook.fr>
Tue, 5 May 2015 13:39:29 +0000 (15:39 +0200)
committerKaltar5679 <killian.mary@outlook.fr>
Tue, 5 May 2015 13:39:29 +0000 (15:39 +0200)
examples/sandbox/src/django-haystack
telemeta/search_indexes.py

index 97475f2813a36e402296d5f2389fe10cd4cd1e0b..bd60745ce82318b1819768c9a31db0579228654d 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 97475f2813a36e402296d5f2389fe10cd4cd1e0b
+Subproject commit bd60745ce82318b1819768c9a31db0579228654d
index 1d995efa1120a845080c642d5913c88fd690c1d7..66df3408744074a104c5e8991d349ee5c419b5c7 100644 (file)
@@ -8,9 +8,6 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable):
     item_acces = indexes.CharField(model_attr='collection__public_access', faceted=True)
     item_status = indexes.CharField(model_attr='collection__document_status', faceted=True)
     digitized = indexes.BooleanField(default=False, faceted=True)
-    recording_context = indexes.CharField(model_attr='collection__recording_context', default='', faceted=True)
-    #original_format = indexes.CharField(model_attr='collection__original_format', default='', faceted=True)
-    physical_format = indexes.CharField(model_attr='collection__physical_format', default='', faceted=True)
     media_type = indexes.CharField(model_attr='media_type', null='None', faceted=True)
 
     #advance search
@@ -37,8 +34,11 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable):
 
     def prepare_location(self, obj):
         location = []
-        location.append(obj.location.name)
-        location_alias = LocationAlias.objects.filter(location__name=obj.location.name)
+        location.append(obj.location)
+        location_alias = LocationAlias.objects.filter(location__name=obj.location)
+        location_rela = LocationRelation.objects.filter(location__name=obj.location)
+        for rela in location_rela:
+            location.append(rela.ancestor_location)
         for alias in location_alias:
             location.append(alias)
         return "%s" % location
@@ -66,9 +66,6 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable):
     item_acces = indexes.CharField(model_attr='public_access', faceted=True)
     item_status = indexes.CharField(model_attr='document_status', faceted=True)
     digitized = indexes.BooleanField(default=False, faceted=True)
-    recording_context = indexes.CharField(model_attr='recording_context', default='' ,faceted=True)
-    #original_format = indexes.CharField(model_attr='original_format', default='', faceted=True)
-    physical_format = indexes.CharField(model_attr='physical_format', default='', faceted=True)
     media_type = indexes.CharField(model_attr='media_type', null='None', faceted=True)
 
     #advance search
@@ -89,7 +86,20 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable):
         return MediaCollection
 
     def prepare_location(self, obj):
-        return "%s" % obj.countries()
+        collec_location = []
+        for item in obj.items.all():
+            location = []
+            location.append(item.location)
+            location_alias = LocationAlias.objects.filter(location__name=item.location)
+            location_rela = LocationRelation.objects.filter(location__name=item.location)
+            for rela in location_rela:
+                location.append(rela.ancestor_location)
+            for alias in location_alias:
+                location.append(alias)
+            for name in location:
+                if name and not name in collec_location:
+                    collec_location.append(name)
+        return "%s" % collec_location
 
     def prepare_ethnic_group(self, obj):
         return "%s" % obj.ethnic_groups()