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 s~ |d }|j tjks|j r$|g}n|j}x|d d d D ]}|j tjkrV|j}|}n*|j tjkrfd S |j tjksvt|jd }|j}|dkrd |_|j q:|dkr:|j
|d d
krdnd|_q:W |jd d p|g}d
} x2|D ]*}| r|j tjkr|j q| d
N } qW x*|r>|d j tjkr>|j j qW |jpRt
|dd sd|jd krz|j}
t }|
|_|S d S )Nimports r imapizipifilterifilterfalseizip_longest ffilterfalsezip_longestTvalue)r r
r )r r
)typer Zimport_as_namechildrenr NAMEr STARAssertionErrorremoveZchangedCOMMApopgetattrparentprefixr )selfZnodeZresultsr r ZchildmemberZ name_nodemember_nameZremove_commap r# H/opt/alt/python36/lib64/python3.6/lib2to3/fixes/fix_itertools_imports.py transform sD
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$