view downloads/search_indexes.py @ 661:15dbe0ccda95

Prevent exceptions when viewing downloads in the admin when the file doesn't exist on the filesystem. This is usually seen in development but can also happen in production if the file is missing.
author Brian Neal <bgneal@gmail.com>
date Tue, 14 May 2013 21:02:47 -0500
parents ee87ea74d46b
children 858ce870c854
line wrap: on
line source
"""Haystack search index for the downloads application."""
from haystack.indexes import *
from haystack import site
from custom_search.indexes import CondQueuedSearchIndex

from downloads.models import Download


class DownloadIndex(CondQueuedSearchIndex):
    text = CharField(document=True, use_template=True)
    author = CharField(model_attr='user')
    pub_date = DateTimeField(model_attr='date_added')

    def index_queryset(self):
        return Download.public_objects.all()

    def get_updated_field(self):
        return 'update_date'

    def can_index(self, instance):
        return instance.is_public

site.register(Download, DownloadIndex)