# HG changeset patch # User Peter Sanchez # Date 1318024993 25200 # Fri Oct 07 15:03:13 2011 -0700 # Node ID 0982603ed15dcb1bf7c85a3ffe61bd1aebb9b27e # Parent 62ee4c1e8cee4091bba6b1c7612e6e4426974bcb Added error_callback signal diff --git a/callback/__init__.py b/callback/__init__.py --- a/callback/__init__.py +++ b/callback/__init__.py @@ -1,10 +1,10 @@ from callback import callback_manager from base import CallbackException, CallbackBase -from signals import stored_callback, processed_callback +from signals import stored_callback, processed_callback, error_callback __version__ = '0.3' __all__ = [ 'CallbackException', 'CallbackBase', 'callback_manager', - 'stored_callback', 'processed_callback', + 'stored_callback', 'processed_callback', 'error_callback', ] diff --git a/callback/callback.py b/callback/callback.py --- a/callback/callback.py +++ b/callback/callback.py @@ -1,7 +1,7 @@ from django.db import models from models import CallbackMap from base import CallbackException, CallbackBase -from signals import stored_callback, processed_callback +from signals import stored_callback, processed_callback, error_callback REQUIRED_METHODS = ('process',) @@ -68,6 +68,11 @@ ) except Exception, e: callback_instance.mark_error(str(e)) + error_callback.send( + sender=self, + callback_instance=callback_instance, + model_instance=model, + ) raise CallbackException(str(e)) diff --git a/callback/signals.py b/callback/signals.py --- a/callback/signals.py +++ b/callback/signals.py @@ -8,3 +8,7 @@ processed_callback = dispatch.Signal( providing_args=['callback_instance', 'model_instance'], ) + +error_callback = dispatch.Signal( + providing_args=['callback_instance', 'model_instance'], +)