
*Pc           @  s   d  Z  d d l m Z d d l m Z d d l m Z m Z m Z m	 Z	 d d l
 m Z d d l m Z m Z d e j f d     YZ d	 S(
   uf   Fixer for __unicode__ methods.

Uses the django.utils.encoding.python_2_unicode_compatible decorator.
i(   t   unicode_literals(   t
   fixer_base(   t   find_indentationt   Namet   symst   touch_import(   t   token(   t   Leaft   Nodet
   FixUnicodec           B  s   e  Z e Z d  Z d   Z RS(   u   
    classdef< 'class' any+ ':'
              suite< any*
                     funcdef< 'def' unifunc='__unicode__'
                              parameters< '(' NAME ')' > any+ >
                     any* > >
    c         C  s   | d } t  d d | j } | j |  | j   } d t |  | _ t t j t t	 j
 d  t  d  g  } t t j | | g d | j } | j |  t d d |  d  S(   Nu   unifuncu   __str__t   prefixu   
u   @u   python_2_unicode_compatibleu   django.utils.encoding(   R   R
   t   replacet   cloneR   R   R   t	   decoratorR   R   t   ATt	   decoratedR   (   t   selft   nodet   resultst   unifunct   strfunct   klassR   R   (    (    s<   ../Django//lib/python/django/utils/2to3_fixes/fix_unicode.pyt	   transform   s    
*!(   t   __name__t
   __module__t   Truet   BM_compatiblet   PATTERNR   (    (    (    s<   ../Django//lib/python/django/utils/2to3_fixes/fix_unicode.pyR	      s   N(   t   __doc__t
   __future__R    t   lib2to3R   t   lib2to3.fixer_utilR   R   R   R   t   lib2to3.pgen2R   t   lib2to3.pytreeR   R   t   BaseFixR	   (    (    (    s<   ../Django//lib/python/django/utils/2to3_fixes/fix_unicode.pyt   <module>   s   "