view potd/signals.py @ 885:ee47122d6277

Base64 encode uploaded filenames to make them shorter.
author Brian Neal <bgneal@gmail.com>
date Tue, 27 Jan 2015 18:29:01 -0600
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')