view potd/receivers.py @ 924:78b459d4ab17

App refactor for custom_search for Django 1.7.7. upgrade. This commit prevents a lot of Django warnings by creating our Haystack signal processor as part of the custom_search apps' ready() method.
author Brian Neal <bgneal@gmail.com>
date Thu, 09 Apr 2015 19:43:07 -0500
parents 1cb227d59e20
children 7a795ccd6479
line wrap: on
line source
"""
Signal handlers for the potd application.

"""
from django.db.models.signals import post_save, post_delete

from potd.models import Photo, Sequence


def on_photo_save(sender, **kwargs):
    """
    This function is executed when a Photo is saved. It inserts the photo into
    the current sequence.

    """
    photo = kwargs['instance']
    Sequence.objects.insert_photo(photo.pk)


def on_photo_delete(sender, **kwargs):
    """
    This function is executed when a Photo is deleted. It removes the photo from
    the current sequence of photos.

    """
    photo = kwargs['instance']
    Sequence.objects.remove_photo(photo.pk)


post_save.connect(on_photo_save, sender=Photo, dispatch_uid='potd.signals')
post_delete.connect(on_photo_delete, sender=Photo, dispatch_uid='potd.signals')