view potd/signals.py @ 684:161b56849114

For Django 1.5: management commands should use self.stdout, etc. for output. Note that I did not update the legacy commands since it is likely I will never run or test these commands again.
author Brian Neal <bgneal@gmail.com>
date Fri, 23 Aug 2013 19:17:40 -0500
parents ee87ea74d46b
children
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')