3
f& @ s: d Z ddlmZ ddlmZmZmZ G dd dejZdS )zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) )
fixer_base) BlankLinesymstokenc @ s" e Zd ZdZde Zdd ZdS )FixItertoolsImportsTzT
import_from< 'from' 'itertools' 'import' imports=any >
c C sl |d }|j tjks|j r$|g}n|j}x|d d d D ]z}|j tjkrV|j}|}n|j tjkrfd S |jd }|j}|dkrd |_|j q:|dkr:|j |d d
krdnd|_q:W |jd d p|g}d
} x0|D ](}| o|j tj
k r|j q| d
N } qW x*|r,|d j tj
kr,|j j qW |jp@t|dd sR|j
d krh|j}
t }|
|_|S d S )Nimports r imapizipifilterifilterfalseizip_longest ffilterfalsezip_longestTvalue)r r
r )r r
)typer Zimport_as_namechildrenr NAMEr STARremoveZchangedCOMMApopgetattrparentprefixr )selfZnodeZresultsr r ZchildmemberZ name_nodemember_nameZremove_commap r" H/opt/alt/python36/lib64/python3.6/lib2to3/fixes/fix_itertools_imports.py transform sB
zFixItertoolsImports.transformN)__name__
__module____qualname__Z
BM_compatiblelocalsZPATTERNr$ r" r" r" r# r s
r N) __doc__Zlib2to3r Zlib2to3.fixer_utilr r r ZBaseFixr r" r" r" r#