Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/playhouse/__pycache__/signals.cpython-35.opt-1.pyc
R6¿WÉ ã @ s| d Z d d l m Z Gd d „ d e ƒ Z e ƒ Z e ƒ Z e ƒ Z e ƒ Z e ƒ Z
e ƒ Z Gd d „ d e ƒ Z d S)z.
Provide django-style hooks for model events.
é )ÚModelc @ sj e Z d Z d d „ Z d d d d „ Z d d d d „ Z d d d d „ Z d
d „ Z d d
„ Z d S)ÚSignalc C s | j ƒ d S)N)Ú_flush)Úself© r ú/signals.pyÚ__init__ s zSignal.__init__Nc C sX | p | j } | | j k rD | | f | j | <| j j | ƒ n t d | ƒ ‚ d S)Nz#receiver named %s already connected)Ú__name__Ú
_receiversÚ_receiver_listÚappendÚ
ValueError)r ÚreceiverÚnameÚsenderr r r Úconnect s
zSignal.connectc C sB | r | j } | r2 | j | =| j j | ƒ n t d ƒ ‚ d S)Nz%a receiver or a name must be provided)r r
r Úremover
)r r r r r r Ú
disconnect s
zSignal.disconnectc s ‡ ‡ ‡ f d d † } | S)Nc s ˆ j | ˆ ˆ ƒ | S)N)r )Úfn)r r r r r Ú decorator s z"Signal.__call__.<locals>.decoratorr )r r r r r )r r r r Ú__call__ s zSignal.__call__c O sz t | ƒ } g } xa | j D]V } | j | \ } } | d k sP t | | ƒ r | j | | | | | | Ž f ƒ q W| S)N)Útyper r
Ú
isinstancer ) r ÚinstanceÚargsÚkwargsr Z responsesr ÚrÚsr r r Úsend"