U
    Lk7gý  ã                   @   s²   d Z dZzddlmZ dZW n0 ek
rL   G dd„ dƒZG dd„ dƒZY nX eƒ Ze d	¡Ze d
¡Z	e d¡Z
e d¡Ze d¡Ze d¡Ze d¡Ze d¡Ze d¡ZdS ))Úpre_initÚ	post_initÚpre_saveÚpre_save_post_validationÚ	post_saveÚ
pre_deleteÚpost_deleteFé    )Ú	NamespaceTc                   @   s   e Zd Zddd„ZdS )r	   Nc                 C   s
   t ||ƒS ©N)Ú_FakeSignal©ÚselfÚnameÚdoc© r   ú7/tmp/pip-unpacked-wheel-n1etwkgt/mongoengine/signals.pyÚsignal   s    zNamespace.signal)N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r	      s   r	   c                   @   s@   e Zd ZdZd	dd„Zdd„ Zdd„ Ze Z Z Z	 Z
Z[dS )
r   a  If blinker is unavailable, create a fake class with the same
        interface that allows sending of signals but will fail with an
        error on anything else.  Instead of doing anything on send, it
        will just ignore the arguments and do nothing instead.
        Nc                 C   s   || _ || _d S r
   )r   Ú__doc__r   r   r   r   Ú__init__   s    z_FakeSignal.__init__c                 O   s   t dƒ‚d S )NzOsignalling support is unavailable because the blinker library is not installed.)ÚRuntimeError)r   ÚargsÚkwargsr   r   r   Ú_fail!   s    ÿz_FakeSignal._failc                  O   s   d S r
   r   )ÚaÚkwr   r   r   Ú<lambda>(   ó    z_FakeSignal.<lambda>)N)r   r   r   r   r   r   ÚsendÚconnectZ
disconnectZhas_receivers_forZreceivers_forZtemporarily_connected_tor   r   r   r   r      s   
þr   r   r   r   r   r   r   r   Úpre_bulk_insertÚpost_bulk_insertN)Ú__all__Zsignals_availableZblinkerr	   ÚImportErrorr   Z_signalsr   r   r   r   r   r   r   r   r"   r#   r   r   r   r   Ú<module>   s"   








