
8	Pc           @   sO   d  Z  d d l m Z d d l m Z m Z m Z d e j f d     YZ d S(   sA    Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) i(   t
   fixer_base(   t	   BlankLinet   symst   tokent   FixItertoolsImportsc           B   s$   e  Z e Z d  e   Z d   Z RS(   sT   
              import_from< 'from' 'itertools' 'import' imports=any >
              c         C   s  | d } | j  t j k s& | j r2 | g } n	 | j } x | d  d  d  D] } | j  t j k ry | j } | } n; | j  t j k r d  S| j  t j k s t  | j d } | j } | d k r d  | _ | j
   qO | d k rO | j   | d	 d
 k rd n d | _ qO qO W| j p+| g } t }	 x= | D]5 } |	 rf| j  t j k rf| j
   q;|	 t N}	 q;Wx0 | r| d j  t j k r| j   j
   qwW| j pt | d d   s| j d  k r| j }
 t   } |
 | _ | Sd  S(   Nt   importsi   i    u   imapu   izipu   ifilteru   ifilterfalseu   izip_longesti   u   fu   filterfalseu   zip_longestit   value(   u   imapu   izipu   ifilter(   u   ifilterfalseu   izip_longest(   t   typeR   t   import_as_namet   childrenR   t   NAMER   t   STARt   AssertionErrort   Nonet   removet   changedt   Truet   COMMAt   popt   getattrt   parentt   prefixR   (   t   selft   nodet   resultsR   R	   t   childt   membert	   name_nodet   member_namet   remove_commat   p(    (    s9   /usr/lib/python2.7/lib2to3/fixes/fix_itertools_imports.pyt	   transform   sD    
					
			(   t   __name__t
   __module__R   t   BM_compatiblet   localst   PATTERNR   (    (    (    s9   /usr/lib/python2.7/lib2to3/fixes/fix_itertools_imports.pyR      s   N(	   t   __doc__t   lib2to3R    t   lib2to3.fixer_utilR   R   R   t   BaseFixR   (    (    (    s9   /usr/lib/python2.7/lib2to3/fixes/fix_itertools_imports.pyt   <module>   s   