mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #9015 -- added a signal decorator for simplifying signal connections
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13773 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -6,4 +6,4 @@ See license.txt for original license. | ||||
| Heavily modified for Django's purposes. | ||||
| """ | ||||
|  | ||||
| from django.dispatch.dispatcher import Signal | ||||
| from django.dispatch.dispatcher import Signal, receiver | ||||
| @@ -235,3 +235,19 @@ class Signal(object): | ||||
|             for idx, (r_key, _) in enumerate(self.receivers): | ||||
|                 if r_key == key: | ||||
|                     del self.receivers[idx] | ||||
|  | ||||
|  | ||||
| def receiver(signal, **kwargs): | ||||
|     """ | ||||
|     A decorator for connecting receivers to signals. Used by passing in the | ||||
|     signal and keyword arguments to connect:: | ||||
|  | ||||
|         @receiver(post_save, sender=MyModel) | ||||
|         def signal_receiver(sender, **kwargs): | ||||
|             ... | ||||
|  | ||||
|     """ | ||||
|     def _decorator(func): | ||||
|         signal.connect(func, **kwargs) | ||||
|         return func | ||||
|     return _decorator | ||||
|   | ||||
		Reference in New Issue
	
	Block a user