ó
®â0_c           @   s¢  d  d l  Z  d  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l	 m
 Z
 e d d g ƒ Z d	 e f d
 „  ƒ  YZ e d d d d g d e ƒ Z e d d g d e ƒ Z e d d d d d g d e ƒ Z e d d d d d d g d e ƒ Z e d d d g d e ƒ Z e d d d g d e ƒ Z e d d d d d d d g d e ƒ Z e d d d d d d d g ƒ Z e d d d d d d d g ƒ Z d S(   iÿÿÿÿN(   t   partial(   t   make_model_tuple(   t   Signal(   t   six(   t   RemovedInDjango20Warningt   providing_argst   classt   ModelSignalc           B   sD   e  Z d  Z d „  Z d e d d d „ Z d d d d d d „ Z RS(   sz   
    Signal subclass that allows the sender to be lazily specified as a string
    of the `app_label.ModelName` form.
    c         K   sj   d d l  m } t | | |  } t | t j ƒ r\ | p@ | j } | j | t | ƒ ƒ n
 | | ƒ Sd  S(   Niÿÿÿÿ(   t   Options(	   t   django.db.models.optionsR   R    t
   isinstanceR   t   string_typest   default_appst   lazy_model_operationR   (   t   selft   methodt   appst   receivert   sendert   kwargsR   t   partial_method(    (    s:   /tmp/pip-unpacked-wheel-BAJOf3/django/db/models/signals.pyt   _lazy_method   s    c      	   C   s2   |  j  t t |  ƒ j | | | d | d | ƒd  S(   Nt   weakt   dispatch_uid(   R   t   superR   t   connect(   R   R   R   R   R   R   (    (    s:   /tmp/pip-unpacked-wheel-BAJOf3/django/db/models/signals.pyR      s    c         C   sM   | d  k	 r% t j d t d d ƒn  |  j t t |  ƒ j | | | d | ƒS(   Ns+   Passing `weak` to disconnect has no effect.t
   stackleveli   R   (   t   Nonet   warningst   warnR   R   R   R   t
   disconnect(   R   R   R   R   R   R   (    (    s:   /tmp/pip-unpacked-wheel-BAJOf3/django/db/models/signals.pyR   "   s    N(   t   __name__t
   __module__t   __doc__R   R   t   TrueR   R   (    (    (    s:   /tmp/pip-unpacked-wheel-BAJOf3/django/db/models/signals.pyR      s   	t   instancet   argsR   t   use_cachingt   rawt   usingt   update_fieldst   createdt   actiont   reverset   modelt   pk_sett
   app_configt	   verbosityt   interactiveR   t   plan(   R   t	   functoolsR    t   django.db.models.utilsR   t   django.dispatchR   t   django.utilsR   t   django.utils.deprecationR   t   class_preparedR   R"   t   pre_initt	   post_initt   pre_savet	   post_savet
   pre_deletet   post_deletet   m2m_changedt   pre_migratet   post_migrate(    (    (    s:   /tmp/pip-unpacked-wheel-BAJOf3/django/db/models/signals.pyt   <module>   s&   	$	!