Skip to content

Commit

Permalink
Include missing changes from previous commit
Browse files Browse the repository at this point in the history
  • Loading branch information
juyrjola committed Feb 18, 2016
1 parent f7a2571 commit 51f7902
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 6 deletions.
20 changes: 18 additions & 2 deletions events/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,7 @@ class KeywordSerializer(LinkedEventsSerializer):
class Meta:
model = Keyword


class KeywordViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Keyword.objects.all()
serializer_class = KeywordSerializer
Expand Down Expand Up @@ -496,6 +497,7 @@ def get_queryset(self):

register_view(KeywordViewSet, 'keyword')


class KeywordSetSerializer(LinkedEventsSerializer):
view_name = 'keywordset-detail'
keywords = JSONLDRelatedField(
Expand All @@ -506,6 +508,7 @@ class KeywordSetSerializer(LinkedEventsSerializer):
class Meta:
model = KeywordSet


class JSONAPIViewSet(viewsets.ReadOnlyModelViewSet):
def initial(self, request, *args, **kwargs):
ret = super(JSONAPIViewSet, self).initial(request, *args, **kwargs)
Expand Down Expand Up @@ -1177,7 +1180,7 @@ def to_representation(self, search_result):
assert model in serializers_by_model, "Serializer for %s not found" % model
ser_class = serializers_by_model[model]
data = ser_class(search_result.object, context=self.context).data
data['object_type'] = model._meta.model_name
data['resource_type'] = model._meta.model_name
data['score'] = search_result.score
return data

Expand Down Expand Up @@ -1213,10 +1216,23 @@ def list(self, request, *args, **kwargs):
'gauss': {
'end_time': {
'origin': now,
'scale': DATE_DECAY_SCALE }}})
'scale': DATE_DECAY_SCALE
}
}
})
else:
queryset = queryset.filter(text=AutoQuery(q_val))

types = request.query_params.get('resource_type', '').split(',')
if types:
models = set()
for t in types:
if t == 'event':
models.add(Event)
elif t == 'place':
models.add(Place)
queryset = queryset.models(*list(models))

self.object_list = queryset.load_all()

page = self.paginate_queryset(self.object_list)
Expand Down
13 changes: 12 additions & 1 deletion events/search_indexes.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from haystack import indexes
from .models import Event, PublicationStatus
from .models import Event, Place, PublicationStatus
from django.utils.translation import get_language
from django.utils.html import strip_tags

Expand All @@ -22,3 +22,14 @@ def prepare(self, obj):

def index_queryset(self, using=None):
return self.get_model().objects.filter(publication_status=PublicationStatus.PUBLIC)


class PlaceIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
autosuggest = indexes.EdgeNgramField(model_attr='name')

def get_updated_field(self):
return 'last_modified_time'

def get_model(self):
return Place
15 changes: 12 additions & 3 deletions multilingual_haystack/backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,35 @@ def update(self, index, iterable, commit=True):
def clear(self, **kwargs):
return

#class MultilingualSearchQuery(BaseSearchQuery):

# class MultilingualSearchQuery(BaseSearchQuery):
# def __init__(self, using=DEFAULT_ALIAS):


class MultilingualSearchEngine(BaseEngine):
backend = MultilingualSearchBackend
#query = MultilingualSearchQuery
# query = MultilingualSearchQuery

def get_query(self):
language = translation.get_language()[:2]
language = translation.get_language()
if not language:
language = settings.LANGUAGES[0][0][:2]
else:
language = language[:2]
using = '%s-%s' % (self.using, language)
return connections[using].get_query()


class LanguageSearchBackend(BaseSearchBackend):
def update(self, *args, **kwargs):
# Handle all updates through the main Multilingual object.
return


class LanguageSearchQuery(BaseSearchQuery):
pass


class LanguageSearchEngine(BaseEngine):
def __init__(self, **kwargs):
conn_config = settings.HAYSTACK_CONNECTIONS[kwargs['using']]
Expand Down

0 comments on commit 51f7902

Please sign in to comment.