ó
Ñ7ec           @@  sá   d  d l  m Z d  d l Z d  d l Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ e Z d e	 f d „  ƒ  YZ
 d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d d d „  ƒ  YZ e e ƒ Z e e ƒ Z d e	 f d „  ƒ  YZ d S(   i    (   t   absolute_importNt   RemovedInDjango20Warningc           B@  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR      s   t   RemovedInDjango21Warningc           B@  s   e  Z RS(    (   R   R   (    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR      s   t   warn_about_renamed_methodc           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t
   class_namet   old_method_namet   new_method_namet   deprecation_warning(   t   selfR   R   R   R	   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __init__   s    			c         @  s   ‡  ‡ f d †  } | S(   Nc          @  s9   t  j d ˆ j ˆ j ˆ j f ˆ j d ƒ ˆ  |  | Ž  S(   Ns(   `%s.%s` is deprecated, use `%s` instead.i   (   t   warningst   warnR   R   R   R	   (   t   argst   kwargs(   t   fR
   (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   wrapped   s
    (    (   R
   R   R   (    (   R   R
   sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __call__   s    (   R   R   R   R   (    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR      s   	t   RenameMethodsBasec           B@  s   e  Z d  Z d Z d „  Z RS(   s#  
    Handles the deprecation paths when renaming a method.

    It does the following:
        1) Define the new method if missing and complain about it.
        2) Define the old method if missing.
        3) Complain whenever an old method is called.

    See #15363 for more details.
    c         C@  s)  t  t |  ƒ j |  | | | ƒ } xt j | ƒ D]ð } | j } xÞ |  j D]Ó } | d } | j j | ƒ }	 | d }
 | j j |
 ƒ } | d } t	 | | Œ } | r÷ |	 r÷ t
 j d | | |
 f | d ƒ t | |
 |	 ƒ t | | | |	 ƒ ƒ n  |	 rJ | rJ t | | | | ƒ ƒ qJ qJ Wq1 W| S(   Ni    i   i   s&   `%s.%s` method should be renamed `%s`.(   t   superR   t   __new__t   inspectt   getmroR   t   renamed_methodst   __dict__t   getR   R   R   t   setattr(   t   clst   namet   basest   attrst	   new_classt   baseR   t   renamed_methodR   t
   old_methodR   t
   new_methodR	   t   wrapper(    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR   1   s(    !	



!(    (   R   R   t   __doc__R   R   (    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR   #   s   
t   DeprecationInstanceCheckc           B@  s   e  Z d  „  Z RS(   c         C@  s<   t  j d |  j |  j f |  j d ƒ t t |  ƒ j | ƒ S(   Ns%   `%s` is deprecated, use `%s` instead.i   (   R   R   R   t   alternativeR	   R   R'   t   __instancecheck__(   R
   t   instance(    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR)   O   s    (   R   R   R)   (    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR'   N   s   t   CallableBoolc           B@  se   e  Z d  Z e Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z RS(
   sS   
    An boolean-like object that is also callable for backwards compatibility.
    c         C@  s   | |  _  d  S(   N(   t   value(   R
   R,   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR   ]   s    c         C@  s   |  j  S(   N(   R,   (   R
   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __bool__`   s    c         C@  s   t  j d t d d ƒ|  j S(   Ns‚   Using user.is_authenticated() and user.is_anonymous() as a method is deprecated. Remove the parentheses to use it as an attribute.t
   stackleveli   (   R   R   R   R,   (   R
   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR   c   s    c         C@  s   |  j  S(   N(   R,   (   R
   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __nonzero__k   s    c         C@  s   d |  j  S(   Ns   CallableBool(%r)(   R,   (   R
   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __repr__n   s    c         C@  s   |  j  | k S(   N(   R,   (   R
   t   other(    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __eq__q   s    c         C@  s   |  j  | k S(   N(   R,   (   R
   R1   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __ne__t   s    c         C@  s   t  |  j p | ƒ S(   N(   t   boolR,   (   R
   R1   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __or__w   s    c         C@  s   t  |  j ƒ S(   N(   t   hashR,   (   R
   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   __hash__z   s    (   R   R   R&   t   Truet   do_not_call_in_templatesR   R-   R   R/   R0   R2   R3   R5   R7   (    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR+   W   s   								t   MiddlewareMixinc           B@  s   e  Z d d  „ Z d „  Z RS(   c         C@  s    | |  _  t t |  ƒ j ƒ  d  S(   N(   t   get_responseR   R:   R   (   R
   R;   (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR   ƒ   s    	c         C@  sg   d  } t |  d ƒ r' |  j | ƒ } n  | s? |  j | ƒ } n  t |  d ƒ rc |  j | | ƒ } n  | S(   Nt   process_requestt   process_response(   t   Nonet   hasattrR<   R;   R=   (   R
   t   requestt   response(    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR   ‡   s    N(   R   R   R>   R   R   (    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyR:   ‚   s   (    (   t
   __future__R    R   R   t   DeprecationWarningR   t   PendingDeprecationWarningR   t   RemovedInNextVersionWarningt   objectR   t   typeR   R'   R+   t   Falset   CallableFalseR8   t   CallableTrueR:   (    (    (    sB   /usr/local/lib/python2.7/dist-packages/django/utils/deprecation.pyt   <module>   s   +	'