3
v^p                 @   s   d dl mZ d dlmZ d dlmZ edgdZG dd deZedd	d
gddZedgddZ	eddddgddZ
edddddgddZeddgddZeddgddZeddddddgddZeddddddgdZeddddddgdZdS )    )partial)make_model_tuple)Signalclass)providing_argsc                   s8   e Zd ZdZdd Zd
 fdd	Zd fdd		Z  ZS )ModelSignalzz
    Signal subclass that allows the sender to be lazily specified as a string
    of the `app_label.ModelName` form.
    c             K   sL   ddl m} t||f|}t|tr@|p,|j}|j|t| n||S d S )Nr   )Options)Zdjango.db.models.optionsr   r   
isinstancestrZdefault_appslazy_model_operationr   )selfmethodappsreceiversenderkwargsr   Zpartial_method r   </usr/lib/python3.6/site-packages/django/db/models/signals.py_lazy_method   s    

zModelSignal._lazy_methodNTc                s   | j t j|||||d d S )N)weakdispatch_uid)r   superconnect)r   r   r   r   r   r   )	__class__r   r   r      s    zModelSignal.connectc                s   | j t j||||dS )N)r   )r   r   
disconnect)r   r   r   r   r   )r   r   r   r      s    zModelSignal.disconnect)NTNN)NNNN)__name__
__module____qualname____doc__r   r   r   __classcell__r   r   )r   r   r   	   s   r   instanceargsr   T)r   use_cachingrawusingZupdate_fieldscreatedactionreversemodelZpk_set
app_config	verbosityinteractiver   planN)	functoolsr   Zdjango.db.models.utilsr   django.dispatchr   Zclass_preparedr   Zpre_initZ	post_initZpre_saveZ	post_saveZ
pre_deleteZpost_deleteZm2m_changedZpre_migrateZpost_migrater   r   r   r   <module>   s    