î
\á[\  ã               @   sC   d  Z  d d l m Z d d l m Z Gd d „  d e j ƒ Z d S)aT   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.
    é   )Ú
fixer_base)ÚNamec               @   s;   e  Z d  Z d Z d Z d e ƒ  Z d Z d d „  Z d S)ÚFixItertoolsTz7('imap'|'ifilter'|'izip'|'izip_longest'|'ifilterfalse')zì
              power< it='itertools'
                  trailer<
                     dot='.' func=%(it_funcs)s > trailer< '(' [any] ')' > >
              |
              power< func=%(it_funcs)s trailer< '(' [any] ')' > >
              é   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 | ƒƒ d  S)
NÚfuncé    ÚitÚifilterfalseÚizip_longestÚdoté   Úprefix)r	   r
   )Úvaluer   ÚremoveÚparentÚreplacer   )ÚselfZnodeZresultsr   r   r   r   © r   ú1/usr/lib/python3.4/lib2to3/fixes/fix_itertools.pyÚ	transform   s    	

zFixItertools.transformN)	Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleZit_funcsÚlocalsZPATTERNZ	run_orderr   r   r   r   r   r      s
   r   N)Ú__doc__Ú r   Z
fixer_utilr   ZBaseFixr   r   r   r   r   Ú<module>   s   