diff potd/receivers.py @ 916:1cb227d59e20

Potd app refactor. For Django 1.7.7 upgrade.
author Brian Neal <bgneal@gmail.com>
date Mon, 06 Apr 2015 19:36:38 -0500
parents potd/signals.py@ee87ea74d46b
children 7a795ccd6479
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/potd/receivers.py	Mon Apr 06 19:36:38 2015 -0500
@@ -0,0 +1,31 @@
+"""
+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')