ó
ñsºec           @   sC   d  Z  d d l m Z d d l m Z d e j f d „  ƒ  YZ d S(   sT   Fixer for itertools.(imap|ifilter|izip) --> (map|filter|zip) and
    itertools.ifilterfalse --> itertools.filterfalse (bugs 2360-2363)

    imports from itertools are fixed in fix_itertools_import.py

    If itertools is imported as something else (ie: import itertools as it;
    it.izip(spam, eggs)) method calls will not get fixed.
    i   (   t
   fixer_base(   t   Namet   FixItertoolsc           B   s0   e  Z e Z d  Z d e ƒ  Z d Z d „  Z RS(   s7   ('imap'|'ifilter'|'izip'|'izip_longest'|'ifilterfalse')sì   
              power< it='itertools'
                  trailer<
                     dot='.' func=%(it_funcs)s > trailer< '(' [any] ')' > >
              |
              power< func=%(it_funcs)s trailer< '(' [any] ')' > >
              i   c         C   s§   d  } | d d } d | k rt | j d	 k rt | d | d } } | j } | j ƒ  | j ƒ  | j j | ƒ n  | p€ | j } | j t | j d d | ƒƒ d  S(
   Nt   funci    t   itu   ifilterfalseu   izip_longestt   doti   t   prefix(   u   ifilterfalseu   izip_longest(   t   Nonet   valueR   t   removet   parentt   replaceR   (   t   selft   nodet   resultsR   R   R   R   (    (    s1   /usr/lib/python2.7/lib2to3/fixes/fix_itertools.pyt	   transform   s    	

(	   t   __name__t
   __module__t   Truet   BM_compatiblet   it_funcst   localst   PATTERNt	   run_orderR   (    (    (    s1   /usr/lib/python2.7/lib2to3/fixes/fix_itertools.pyR      s
   N(   t   __doc__t    R    t
   fixer_utilR   t   BaseFixR   (    (    (    s1   /usr/lib/python2.7/lib2to3/fixes/fix_itertools.pyt   <module>   s   