Mercurial > public > sg101
diff custom_search/indexes.py @ 581:ee87ea74d46b
For Django 1.4, rearranged project structure for new manage.py.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 05 May 2012 17:10:48 -0500 |
parents | gpp/custom_search/indexes.py@3b30286adba5 |
children | 858ce870c854 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/custom_search/indexes.py Sat May 05 17:10:48 2012 -0500 @@ -0,0 +1,31 @@ +""" +This module contains custom search indexes to tailor the Haystack search +application to our needs. + +""" +from queued_search.indexes import QueuedSearchIndex + + +class CondQueuedSearchIndex(QueuedSearchIndex): + """ + This customized version of QueuedSearchIndex conditionally enqueues items + to be indexed by calling the can_index() method. + + """ + def can_index(self, instance): + """ + The default is to index all instances. Override this method to + customize the behavior. This will be called on all update operations. + + """ + return True + + def enqueue(self, action, instance): + """ + This method enqueues the instance only if the can_index() method + returns True. + + """ + if (action == 'update' and self.can_index(instance) or + action == 'delete'): + super(CondQueuedSearchIndex, self).enqueue(action, instance)